aboutsummaryrefslogtreecommitdiffstats
path: root/epubs/zig-0.9.1.epub
blob: 9914fdd9ef32a01d431ea2b2d6d4b731059218ad (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 52 2c fd e7 c2 02 00 00 ontainer>.PK..........!RR,......
0180 c2 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 39 2e 31 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 74 :0.9.1</dc:identifier>.....<dc:t
02a0 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 39 itle>Zig.Language.Reference.(0.9
02c0 2e 31 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 65 3e .1)</dc:title>.....<dc:language>
02e0 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 70 65 en</dc:language>.....<meta.prope
0300 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 2d 30 rty="dcterms:modified">2021-01-0
0320 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 61 3e 1T00:00:00Z</meta>...</metadata>
0340 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 76 22 ...<manifest>.....<item.id="nav"
0360 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 61 70 .href="nav.xhtml".media-type="ap
0380 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 73 3d plication/xhtml+xml".properties=
03a0 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 72 65 "nav"/>.....<item.id="index".hre
03c0 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 70 6c f="index.xhtml".media-type="appl
03e0 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 65 73 ication/xhtml+xml"/>...</manifes
0400 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 66 3d t>...<spine>.....<itemref.idref=
0420 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 64 65 "nav"/>.....<itemref.idref="inde
0440 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 04 14 x"/>...</spine>.</package>.PK...
0460 00 00 00 00 00 00 00 21 52 77 b3 7e 78 6c 83 00 00 6c 83 00 00 0f 00 00 00 4f 45 42 50 53 2f 6e .......!Rw.~xl...l.......OEBPS/n
0480 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 63 6f av.xhtml<?xml.version="1.0".enco
04a0 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 74 70 ding="utf-8"?>.<html.xmlns="http
04c0 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 73 3a ://www.w3.org/1999/xhtml".xmlns:
04e0 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 2f 6f epub="http://www.idpf.org/2007/o
0500 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 5a 69 ps".lang="en">...<head><title>Zi
0520 67 20 4c 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 20 28 30 2e 39 2e 31 29 3c 2f 74 69 g.Language.Reference.(0.9.1)</ti
0540 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 20 65 70 tle></head>...<body>.....<nav.ep
0560 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 20 3c 68 ub:type="toc".id="toc">.......<h
0580 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 39 2e 31 29 1>Zig.Language.Reference.(0.9.1)
05a0 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 3e 3c 61 20 </h1>.......<ol>.........<li><a.
05c0 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 69 6e 64 65 id="toc-Introduction".href="inde
05e0 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 75 63 74 69 x.xhtml#Introduction">Introducti
0600 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 64 3d 22 74 on</a></li>.........<li><a.id="t
0620 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 66 3d 22 69 oc-Zig-Standard-Library".href="i
0640 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 61 72 79 22 ndex.xhtml#Zig-Standard-Library"
0660 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 69 3e 0a 20 >Zig.Standard.Library</a></li>..
0680 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 57 6f 72 6c .......<li><a.id="toc-Hello-Worl
06a0 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 6f 72 6c 64 d".href="index.xhtml#Hello-World
06c0 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 20 20 20 3c ">Hello.World</a></li>.........<
06e0 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 3d 22 69 6e li><a.id="toc-Comments".href="in
0700 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 3c 2f 61 3e dex.xhtml#Comments">Comments</a>
0720 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 61 .........<ol>.............<li><a
0740 20 69 64 3d 22 74 6f 63 2d 44 6f 63 2d 63 6f 6d 6d 65 6e 74 73 22 20 68 72 65 66 3d 22 69 6e 64 .id="toc-Doc-comments".href="ind
0760 65 78 2e 78 68 74 6d 6c 23 44 6f 63 2d 63 6f 6d 6d 65 6e 74 73 22 3e 44 6f 63 20 63 6f 6d 6d 65 ex.xhtml#Doc-comments">Doc.comme
0780 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 3e 3c 61 20 nts</a></li>.............<li><a.
07a0 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 74 73 22 20 id="toc-Top-Level-Doc-Comments".
07c0 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 44 6f 63 2d href="index.xhtml#Top-Level-Doc-
07e0 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 65 6e 74 73 Comments">Top-Level.Doc.Comments
0800 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>....
0820 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 68 72 65 66 .....<li><a.id="toc-Values".href
0840 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 3c 2f 61 3e ="index.xhtml#Values">Values</a>
0860 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 61 .........<ol>.............<li><a
0880 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 65 66 3d 22 .id="toc-Primitive-Types".href="
08a0 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 3e 50 72 69 index.xhtml#Primitive-Types">Pri
08c0 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 20 20 20 20 mitive.Types</a></li>...........
08e0 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 61 6c 75 65 ..<li><a.id="toc-Primitive-Value
0900 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 76 65 2d 56 s".href="index.xhtml#Primitive-V
0920 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 2f 6c 69 3e alues">Primitive.Values</a></li>
0940 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 53 74 72 69 .............<li><a.id="toc-Stri
0960 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 2d 50 6f 69 ng-Literals-and-Unicode-Code-Poi
0980 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 6d 6c 23 53 nt-Literals".href="index.xhtml#S
09a0 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 2d tring-Literals-and-Unicode-Code-
09c0 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 53 74 72 69 6e 67 20 4c 69 74 65 72 61 6c 73 20 Point-Literals">String.Literals.
09e0 61 6e 64 20 55 6e 69 63 6f 64 65 20 43 6f 64 65 20 50 6f 69 6e 74 20 4c 69 74 65 72 61 6c 73 3c and.Unicode.Code.Point.Literals<
0a00 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 /a>.............<ol>............
0a20 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 65 71 75 65 .....<li><a.id="toc-Escape-Seque
0a40 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 70 65 2d 53 nces".href="index.xhtml#Escape-S
0a60 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 3e 3c 2f equences">Escape.Sequences</a></
0a80 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
0aa0 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 22 20 68 72 oc-Multiline-String-Literals".hr
0ac0 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 72 69 6e 67 ef="index.xhtml#Multiline-String
0ae0 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 4c 69 74 65 -Literals">Multiline.String.Lite
0b00 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 6f 6c 3e 3c rals</a></li>.............</ol><
0b20 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-
0b40 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 6c 23 41 73 Assignment".href="index.xhtml#As
0b60 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 20 20 20 20 signment">Assignment</a>........
0b80 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 .....<ol>.................<li><a
0ba0 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 64 65 78 2e .id="toc-undefined".href="index.
0bc0 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 61 3e 3c 2f xhtml#undefined">undefined</a></
0be0 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 20 20 li>.............</ol></li>......
0c00 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 3d ...</ol></li>.........<li><a.id=
0c20 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 68 74 6d 6c "toc-Zig-Test".href="index.xhtml
0c40 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 20 20 20 20 #Zig-Test">Zig.Test</a>.........
0c60 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d <ol>.............<li><a.id="toc-
0c80 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 65 78 2e 78 Test-Declarations".href="index.x
0ca0 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 20 44 65 63 html#Test-Declarations">Test.Dec
0cc0 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 20 20 20 3c larations</a></li>.............<
0ce0 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 65 72 2d 54 li><a.id="toc-Nested-Container-T
0d00 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 65 64 2d 43 ests".href="index.xhtml#Nested-C
0d20 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 69 6e 65 72 ontainer-Tests">Nested.Container
0d40 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 3c 6c 69 3e .Tests</a></li>.............<li>
0d60 3c 61 20 69 64 3d 22 74 6f 63 2d 54 65 73 74 2d 46 61 69 6c 75 72 65 22 20 68 72 65 66 3d 22 69 <a.id="toc-Test-Failure".href="i
0d80 6e 64 65 78 2e 78 68 74 6d 6c 23 54 65 73 74 2d 46 61 69 6c 75 72 65 22 3e 54 65 73 74 20 46 61 ndex.xhtml#Test-Failure">Test.Fa
0da0 69 6c 75 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c ilure</a></li>.............<li><
0dc0 61 20 69 64 3d 22 74 6f 63 2d 53 6b 69 70 2d 54 65 73 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 a.id="toc-Skip-Tests".href="inde
0de0 78 2e 78 68 74 6d 6c 23 53 6b 69 70 2d 54 65 73 74 73 22 3e 53 6b 69 70 20 54 65 73 74 73 3c 2f x.xhtml#Skip-Tests">Skip.Tests</
0e00 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
0e20 6f 63 2d 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 20 68 72 65 66 3d 22 69 6e oc-Report-Memory-Leaks".href="in
0e40 64 65 78 2e 78 68 74 6d 6c 23 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e 52 dex.xhtml#Report-Memory-Leaks">R
0e60 65 70 6f 72 74 20 4d 65 6d 6f 72 79 20 4c 65 61 6b 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 eport.Memory.Leaks</a></li>.....
0e80 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 74 65 63 74 69 6e 67 ........<li><a.id="toc-Detecting
0ea0 2d 54 65 73 74 2d 42 75 69 6c 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 -Test-Build".href="index.xhtml#D
0ec0 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e 44 65 74 65 63 74 69 6e 67 20 54 etecting-Test-Build">Detecting.T
0ee0 65 73 74 20 42 75 69 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c est.Build</a></li>.............<
0f00 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d 4c 6f li><a.id="toc-Test-Output-and-Lo
0f20 67 67 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 65 73 74 2d 4f 75 gging".href="index.xhtml#Test-Ou
0f40 74 70 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 3e 54 65 73 74 20 4f 75 74 70 75 74 20 61 6e tput-and-Logging">Test.Output.an
0f60 64 20 4c 6f 67 67 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c d.Logging</a></li>.............<
0f80 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 6d 65 73 70 li><a.id="toc-The-Testing-Namesp
0fa0 61 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 68 65 2d 54 65 73 74 69 ace".href="index.xhtml#The-Testi
0fc0 6e 67 2d 4e 61 6d 65 73 70 61 63 65 22 3e 54 68 65 20 54 65 73 74 69 6e 67 20 4e 61 6d 65 73 70 ng-Namespace">The.Testing.Namesp
0fe0 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ace</a></li>.............<li><a.
1000 69 64 3d 22 74 6f 63 2d 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 22 id="toc-Test-Tool-Documentation"
1020 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 .href="index.xhtml#Test-Tool-Doc
1040 75 6d 65 6e 74 61 74 69 6f 6e 22 3e 54 65 73 74 20 54 6f 6f 6c 20 44 6f 63 75 6d 65 6e 74 61 74 umentation">Test.Tool.Documentat
1060 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a ion</a></li>.........</ol></li>.
1080 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 56 61 72 69 61 62 6c 65 73 ........<li><a.id="toc-Variables
10a0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 56 61 72 69 61 62 6c 65 73 22 3e 56 ".href="index.xhtml#Variables">V
10c0 61 72 69 61 62 6c 65 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 ariables</a>.........<ol>.......
10e0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 64 65 6e 74 69 66 69 65 72 73 ......<li><a.id="toc-Identifiers
1100 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 64 65 6e 74 69 66 69 65 72 73 22 ".href="index.xhtml#Identifiers"
1120 3e 49 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 >Identifiers</a></li>...........
1140 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c ..<li><a.id="toc-Container-Level
1160 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f -Variables".href="index.xhtml#Co
1180 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6e 74 61 69 6e ntainer-Level-Variables">Contain
11a0 65 72 20 4c 65 76 65 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 er.Level.Variables</a></li>.....
11c0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 61 74 69 63 2d 4c 6f ........<li><a.id="toc-Static-Lo
11e0 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 6c cal-Variables".href="index.xhtml
1200 23 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 53 74 61 74 69 63 20 #Static-Local-Variables">Static.
1220 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 20 Local.Variables</a></li>........
1240 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 68 72 65 61 64 2d 4c 6f 63 61 6c .....<li><a.id="toc-Thread-Local
1260 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 68 -Variables".href="index.xhtml#Th
1280 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 read-Local-Variables">Thread.Loc
12a0 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 al.Variables</a></li>...........
12c0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 ..<li><a.id="toc-Local-Variables
12e0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4c 6f 63 61 6c 2d 56 61 72 69 61 62 ".href="index.xhtml#Local-Variab
1300 6c 65 73 22 3e 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 les">Local.Variables</a></li>...
1320 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.
1340 69 64 3d 22 74 6f 63 2d 49 6e 74 65 67 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 id="toc-Integers".href="index.xh
1360 74 6d 6c 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 0a 20 20 20 20 20 tml#Integers">Integers</a>......
1380 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 ...<ol>.............<li><a.id="t
13a0 6f 63 2d 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 oc-Integer-Literals".href="index
13c0 2e 78 68 74 6d 6c 23 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 49 6e 74 65 67 65 72 .xhtml#Integer-Literals">Integer
13e0 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c .Literals</a></li>.............<
1400 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 75 6e 74 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 li><a.id="toc-Runtime-Integer-Va
1420 6c 75 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 75 6e 74 69 6d 65 2d lues".href="index.xhtml#Runtime-
1440 49 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 22 3e 52 75 6e 74 69 6d 65 20 49 6e 74 65 67 65 72 20 Integer-Values">Runtime.Integer.
1460 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c Values</a></li>.........</ol></l
1480 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 6c 6f 61 74 73 i>.........<li><a.id="toc-Floats
14a0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 ".href="index.xhtml#Floats">Floa
14c0 74 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ts</a>.........<ol>.............
14e0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 20 68 <li><a.id="toc-Float-Literals".h
1500 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 ref="index.xhtml#Float-Literals"
1520 3e 46 6c 6f 61 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 >Float.Literals</a></li>........
1540 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 .....<li><a.id="toc-Floating-Poi
1560 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c nt-Operations".href="index.xhtml
1580 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 #Floating-Point-Operations">Floa
15a0 74 69 6e 67 20 50 6f 69 6e 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 ting.Point.Operations</a></li>..
15c0 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
15e0 20 69 64 3d 22 74 6f 63 2d 4f 70 65 72 61 74 6f 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e .id="toc-Operators".href="index.
1600 78 68 74 6d 6c 23 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 0a 20 xhtml#Operators">Operators</a>..
1620 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
1640 64 3d 22 74 6f 63 2d 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 20 68 72 65 66 3d d="toc-Table-of-Operators".href=
1660 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 "index.xhtml#Table-of-Operators"
1680 3e 54 61 62 6c 65 20 6f 66 20 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 >Table.of.Operators</a></li>....
16a0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 72 65 63 65 64 65 6e .........<li><a.id="toc-Preceden
16c0 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 50 72 65 63 65 64 65 6e 63 65 ce".href="index.xhtml#Precedence
16e0 22 3e 50 72 65 63 65 64 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f ">Precedence</a></li>.........</
1700 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d ol></li>.........<li><a.id="toc-
1720 41 72 72 61 79 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 72 72 61 79 73 Arrays".href="index.xhtml#Arrays
1740 22 3e 41 72 72 61 79 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 ">Arrays</a>.........<ol>.......
1760 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 4c ......<li><a.id="toc-Anonymous-L
1780 69 73 74 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 ist-Literals".href="index.xhtml#
17a0 41 6e 6f 6e 79 6d 6f 75 73 2d 4c 69 73 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f Anonymous-List-Literals">Anonymo
17c0 75 73 20 4c 69 73 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 us.List.Literals</a></li>.......
17e0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 75 6c 74 69 64 69 6d 65 6e 73 ......<li><a.id="toc-Multidimens
1800 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 ional-Arrays".href="index.xhtml#
1820 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 3e 4d 75 6c 74 69 64 69 Multidimensional-Arrays">Multidi
1840 6d 65 6e 73 69 6f 6e 61 6c 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 mensional.Arrays</a></li>.......
1860 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 ......<li><a.id="toc-Sentinel-Te
1880 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 rminated-Arrays".href="index.xht
18a0 6d 6c 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 53 ml#Sentinel-Terminated-Arrays">S
18c0 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c entinel-Terminated.Arrays</a></l
18e0 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
1900 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 56 65 63 74 6f 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 i><a.id="toc-Vectors".href="inde
1920 78 2e 78 68 74 6d 6c 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 x.xhtml#Vectors">Vectors</a></li
1940 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 6f 69 6e 74 65 72 >.........<li><a.id="toc-Pointer
1960 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 50 6f 69 6e 74 65 72 73 22 3e 50 s".href="index.xhtml#Pointers">P
1980 6f 69 6e 74 65 72 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 ointers</a>.........<ol>........
19a0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 76 6f 6c 61 74 69 6c 65 22 20 68 72 .....<li><a.id="toc-volatile".hr
19c0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 76 6f 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 74 69 ef="index.xhtml#volatile">volati
19e0 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 le</a></li>.............<li><a.i
1a00 64 3d 22 74 6f 63 2d 41 6c 69 67 6e 6d 65 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 d="toc-Alignment".href="index.xh
1a20 74 6d 6c 23 41 6c 69 67 6e 6d 65 6e 74 22 3e 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 tml#Alignment">Alignment</a></li
1a40 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 6c 6c >.............<li><a.id="toc-all
1a60 6f 77 7a 65 72 6f 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 6c 6c 6f 77 7a owzero".href="index.xhtml#allowz
1a80 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ero">allowzero</a></li>.........
1aa0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d ....<li><a.id="toc-Sentinel-Term
1ac0 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 inated-Pointers".href="index.xht
1ae0 6d 6c 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 ml#Sentinel-Terminated-Pointers"
1b00 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 >Sentinel-Terminated.Pointers</a
1b20 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>.......
1b40 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 6c 69 63 65 73 22 20 68 72 65 66 3d 22 69 ..<li><a.id="toc-Slices".href="i
1b60 6e 64 65 78 2e 78 68 74 6d 6c 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 0a 20 20 ndex.xhtml#Slices">Slices</a>...
1b80 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
1ba0 3d 22 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 ="toc-Sentinel-Terminated-Slices
1bc0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 ".href="index.xhtml#Sentinel-Ter
1be0 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 minated-Slices">Sentinel-Termina
1c00 74 65 64 20 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c ted.Slices</a></li>.........</ol
1c20 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 74 ></li>.........<li><a.id="toc-st
1c40 72 75 63 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 74 72 75 63 74 22 3e ruct".href="index.xhtml#struct">
1c60 73 74 72 75 63 74 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 struct</a>.........<ol>.........
1c80 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 ....<li><a.id="toc-Default-Field
1ca0 2d 56 61 6c 75 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 65 66 61 75 -Values".href="index.xhtml#Defau
1cc0 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 44 65 66 61 75 6c 74 20 46 69 65 6c 64 20 56 lt-Field-Values">Default.Field.V
1ce0 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c alues</a></li>.............<li><
1d00 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 20 68 72 65 66 3d 22 69 a.id="toc-extern-struct".href="i
1d20 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 3e 65 78 74 65 72 6e ndex.xhtml#extern-struct">extern
1d40 20 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 .struct</a></li>.............<li
1d60 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 20 68 72 65 66 3d ><a.id="toc-packed-struct".href=
1d80 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 6b "index.xhtml#packed-struct">pack
1da0 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ed.struct</a></li>.............<
1dc0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 20 68 72 65 li><a.id="toc-Struct-Naming".hre
1de0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e 53 74 f="index.xhtml#Struct-Naming">St
1e00 72 75 63 74 20 4e 61 6d 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ruct.Naming</a></li>............
1e20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 .<li><a.id="toc-Anonymous-Struct
1e40 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 6e 6f -Literals".href="index.xhtml#Ano
1e60 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 nymous-Struct-Literals">Anonymou
1e80 73 20 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 s.Struct.Literals</a></li>......
1ea0 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 3d ...</ol></li>.........<li><a.id=
1ec0 22 74 6f 63 2d 65 6e 75 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 6e 75 "toc-enum".href="index.xhtml#enu
1ee0 6d 22 3e 65 6e 75 6d 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 m">enum</a>.........<ol>........
1f00 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 65 6e 75 6d 22 .....<li><a.id="toc-extern-enum"
1f20 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 65 6e 75 6d 22 3e .href="index.xhtml#extern-enum">
1f40 65 78 74 65 72 6e 20 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 extern.enum</a></li>............
1f60 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 20 68 .<li><a.id="toc-Enum-Literals".h
1f80 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e ref="index.xhtml#Enum-Literals">
1fa0 45 6e 75 6d 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 Enum.Literals</a></li>..........
1fc0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 ...<li><a.id="toc-Non-exhaustive
1fe0 2d 65 6e 75 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4e 6f 6e 2d 65 78 68 -enum".href="index.xhtml#Non-exh
2000 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 3e 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 austive-enum">Non-exhaustive.enu
2020 6d 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 m</a></li>.........</ol></li>...
2040 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 69 6f 6e 22 20 68 72 65 66 ......<li><a.id="toc-union".href
2060 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 0a 20 ="index.xhtml#union">union</a>..
2080 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
20a0 64 3d 22 74 6f 63 2d 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 d="toc-Tagged-union".href="index
20c0 2e 78 68 74 6d 6c 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 .xhtml#Tagged-union">Tagged.unio
20e0 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 n</a></li>.............<li><a.id
2100 3d 22 74 6f 63 2d 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e ="toc-extern-union".href="index.
2120 78 68 74 6d 6c 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e xhtml#extern-union">extern.union
2140 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=
2160 22 74 6f 63 2d 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 "toc-packed-union".href="index.x
2180 68 74 6d 6c 23 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e 70 61 63 6b 65 64 20 75 6e 69 6f 6e 3c html#packed-union">packed.union<
21a0 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="
21c0 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 toc-Anonymous-Union-Literals".hr
21e0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d ef="index.xhtml#Anonymous-Union-
2200 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 55 6e 69 6f 6e 20 4c 69 74 65 72 61 Literals">Anonymous.Union.Litera
2220 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 ls</a></li>.........</ol></li>..
2240 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6f 70 61 71 75 65 22 20 68 72 .......<li><a.id="toc-opaque".hr
2260 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f ef="index.xhtml#opaque">opaque</
2280 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 62 a></li>.........<li><a.id="toc-b
22a0 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 62 6c 6f 63 6b 73 22 locks".href="index.xhtml#blocks"
22c0 3e 62 6c 6f 63 6b 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 >blocks</a>.........<ol>........
22e0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 68 61 64 6f 77 69 6e 67 22 20 68 .....<li><a.id="toc-Shadowing".h
2300 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 68 61 64 6f 77 69 6e 67 22 3e 53 68 61 64 ref="index.xhtml#Shadowing">Shad
2320 6f 77 69 6e 67 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 owing</a></li>.........</ol></li
2340 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 77 69 74 63 68 22 >.........<li><a.id="toc-switch"
2360 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 .href="index.xhtml#switch">switc
2380 68 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 h</a>.........<ol>.............<
23a0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 li><a.id="toc-Exhaustive-Switchi
23c0 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 68 61 75 73 74 69 76 65 ng".href="index.xhtml#Exhaustive
23e0 2d 53 77 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 -Switching">Exhaustive.Switching
2400 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=
2420 22 74 6f 63 2d 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c "toc-Switching-with-Enum-Literal
2440 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 77 69 74 63 68 69 6e 67 2d 77 s".href="index.xhtml#Switching-w
2460 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 53 77 69 74 63 68 69 6e 67 20 77 69 74 ith-Enum-Literals">Switching.wit
2480 68 20 45 6e 75 6d 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 h.Enum.Literals</a></li>........
24a0 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
24c0 6f 63 2d 77 68 69 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 68 69 6c oc-while".href="index.xhtml#whil
24e0 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 e">while</a>.........<ol>.......
2500 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 77 68 69 ......<li><a.id="toc-Labeled-whi
2520 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4c 61 62 65 6c 65 64 2d 77 68 le".href="index.xhtml#Labeled-wh
2540 69 6c 65 22 3e 4c 61 62 65 6c 65 64 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 ile">Labeled.while</a></li>.....
2560 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 2d 77 69 74 ........<li><a.id="toc-while-wit
2580 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 h-Optionals".href="index.xhtml#w
25a0 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 hile-with-Optionals">while.with.
25c0 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 3c Optionals</a></li>.............<
25e0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 li><a.id="toc-while-with-Error-U
2600 6e 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 77 68 69 6c 65 2d 77 nions".href="index.xhtml#while-w
2620 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 45 72 72 ith-Error-Unions">while.with.Err
2640 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 20 3c or.Unions</a></li>.............<
2660 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 20 68 72 65 66 li><a.id="toc-inline-while".href
2680 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e 69 6e 6c 69 ="index.xhtml#inline-while">inli
26a0 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c ne.while</a></li>.........</ol><
26c0 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 66 6f 72 22 /li>.........<li><a.id="toc-for"
26e0 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 0a .href="index.xhtml#for">for</a>.
2700 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ........<ol>.............<li><a.
2720 69 64 3d 22 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 66 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 id="toc-Labeled-for".href="index
2740 2e 78 68 74 6d 6c 23 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 20 66 6f 72 3c .xhtml#Labeled-for">Labeled.for<
2760 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="
2780 74 6f 63 2d 69 6e 6c 69 6e 65 2d 66 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d toc-inline-for".href="index.xhtm
27a0 6c 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 l#inline-for">inline.for</a></li
27c0 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
27e0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 66 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d ><a.id="toc-if".href="index.xhtm
2800 6c 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 l#if">if</a></li>.........<li><a
2820 20 69 64 3d 22 74 6f 63 2d 64 65 66 65 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d .id="toc-defer".href="index.xhtm
2840 6c 23 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 l#defer">defer</a></li>.........
2860 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 72 65 61 63 68 61 62 6c 65 22 20 68 72 65 66 <li><a.id="toc-unreachable".href
2880 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 ="index.xhtml#unreachable">unrea
28a0 63 68 61 62 6c 65 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 chable</a>.........<ol>.........
28c0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 61 73 69 63 73 22 20 68 72 65 66 3d ....<li><a.id="toc-Basics".href=
28e0 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 42 61 73 69 63 73 22 3e 42 61 73 69 63 73 3c 2f 61 3e 3c "index.xhtml#Basics">Basics</a><
2900 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-
2920 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 At-Compile-Time".href="index.xht
2940 6d 6c 23 41 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 ml#At-Compile-Time">At.Compile-T
2960 69 6d 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 ime</a></li>.........</ol></li>.
2980 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6e 6f 72 65 74 75 72 6e 22 ........<li><a.id="toc-noreturn"
29a0 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 .href="index.xhtml#noreturn">nor
29c0 65 74 75 72 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 64 eturn</a></li>.........<li><a.id
29e0 3d 22 74 6f 63 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 ="toc-Functions".href="index.xht
2a00 6d 6c 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 0a 20 20 20 20 ml#Functions">Functions</a>.....
2a20 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="
2a40 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 20 68 72 toc-Pass-by-value-Parameters".hr
2a60 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 ef="index.xhtml#Pass-by-value-Pa
2a80 72 61 6d 65 74 65 72 73 22 3e 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 20 50 61 72 61 6d 65 74 65 rameters">Pass-by-value.Paramete
2aa0 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 rs</a></li>.............<li><a.i
2ac0 64 3d 22 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 d="toc-Function-Parameter-Type-I
2ae0 6e 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 6c 23 46 75 6e 63 nference".href="index.xhtml#Func
2b00 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 6e 63 65 22 3e 46 tion-Parameter-Type-Inference">F
2b20 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 72 20 54 79 70 65 20 49 6e 66 65 72 65 6e 63 65 unction.Parameter.Type.Inference
2b40 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=
2b60 22 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 20 68 72 65 66 3d 22 "toc-Function-Reflection".href="
2b80 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 index.xhtml#Function-Reflection"
2ba0 3e 46 75 6e 63 74 69 6f 6e 20 52 65 66 6c 65 63 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 >Function.Reflection</a></li>...
2bc0 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.
2be0 69 64 3d 22 74 6f 63 2d 45 72 72 6f 72 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d id="toc-Errors".href="index.xhtm
2c00 6c 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c l#Errors">Errors</a>.........<ol
2c20 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 72 72 >.............<li><a.id="toc-Err
2c40 6f 72 2d 53 65 74 2d 54 79 70 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 or-Set-Type".href="index.xhtml#E
2c60 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 61 rror-Set-Type">Error.Set.Type</a
2c80 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 >.............<ol>..............
2ca0 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 ...<li><a.id="toc-The-Global-Err
2cc0 6f 72 2d 53 65 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 68 65 2d 47 6c or-Set".href="index.xhtml#The-Gl
2ce0 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f 72 obal-Error-Set">The.Global.Error
2d00 20 53 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c .Set</a></li>.............</ol><
2d20 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-
2d40 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 Error-Union-Type".href="index.xh
2d60 74 6d 6c 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f tml#Error-Union-Type">Error.Unio
2d80 6e 20 54 79 70 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 n.Type</a>.............<ol>.....
2da0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 61 74 63 68 ............<li><a.id="toc-catch
2dc0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 61 74 63 68 22 3e 63 61 74 63 68 ".href="index.xhtml#catch">catch
2de0 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 3c 61 </a></li>.................<li><a
2e00 20 69 64 3d 22 74 6f 63 2d 74 72 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 .id="toc-try".href="index.xhtml#
2e20 74 72 79 22 3e 74 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 try">try</a></li>...............
2e40 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 64 65 66 65 72 22 20 68 72 65 66 3d ..<li><a.id="toc-errdefer".href=
2e60 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 72 72 64 65 66 65 72 22 3e 65 72 72 64 65 66 65 72 3c "index.xhtml#errdefer">errdefer<
2e80 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.
2ea0 69 64 3d 22 74 6f 63 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 id="toc-Merging-Error-Sets".href
2ec0 3d 22 69 6e 64 65 78 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 ="index.xhtml#Merging-Error-Sets
2ee0 22 3e 4d 65 72 67 69 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 ">Merging.Error.Sets</a></li>...
2f00 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 49 6e 66 ..............<li><a.id="toc-Inf
2f20 65 72 72 65 64 2d 45 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 erred-Error-Sets".href="index.xh
2f40 74 6d 6c 23 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 tml#Inferred-Error-Sets">Inferre
2f60 64 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 20 d.Error.Sets</a></li>...........
2f80 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ..</ol></li>.............<li><a.
2fa0 69 64 3d 22 74 6f 63 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 id="toc-Error-Return-Traces".hre
2fc0 66 3d 22 69 6e 64 65 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 f="index.xhtml#Error-Return-Trac
2fe0 65 73 22 3e 45 72 72 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 es">Error.Return.Traces</a>.....
3000 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 69 ........<ol>.................<li
3020 3e 3c 61 20 69 64 3d 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 ><a.id="toc-Implementation-Detai
3040 6c 73 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 6d 65 6e 74 61 ls".href="index.xhtml#Implementa
3060 74 69 6f 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 tion-Details">Implementation.Det
3080 61 69 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 6f 6c 3e 3c ails</a></li>.............</ol><
30a0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 /li>.........</ol></li>.........
30c0 3c 6c 69 3e 3c 61 20 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 <li><a.id="toc-Optionals".href="
30e0 69 6e 64 65 78 2e 78 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 index.xhtml#Optionals">Optionals
3100 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
3120 69 3e 3c 61 20 69 64 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 i><a.id="toc-Optional-Type".href
3140 3d 22 69 6e 64 65 78 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 ="index.xhtml#Optional-Type">Opt
3160 69 6f 6e 61 6c 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 20 20 ional.Type</a></li>.............
3180 3c 6c 69 3e 3c 61 20 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 <li><a.id="toc-null".href="index
31a0 2e 78 68 74 6d 6c 23 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 .xhtml#null">null</a></li>......
31c0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 50 .......<li><a.id="toc-Optional-P
31e0 6f 69 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 4f 70 74 69 6f ointers".href="index.xhtml#Optio
3200 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 69 6e 74 65 72 73 3c nal-Pointers">Optional.Pointers<
3220 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 /a></li>.........</ol></li>.....
3240 20 20 20 20 3c 6c 69 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 ....<li><a.id="toc-Casting".href
3260 3d 22 69 6e 64 65 78 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 ="index.xhtml#Casting">Casting</
3280 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>
32a0 3c 61 20 69 64 3d 22 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 <a.id="toc-Type-Coercion".href="
32c0 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 22 3e 54 79 70 65 20 index.xhtml#Type-Coercion">Type.
32e0 43 6f 65 72 63 69 6f 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 Coercion</a>.............<ol>...
3300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 ..............<li><a.id="toc-Typ
3320 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f e-Coercion-Stricter-Qualificatio
3340 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 n".href="index.xhtml#Type-Coerci
3360 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e 54 79 70 65 20 on-Stricter-Qualification">Type.
3380 43 6f 65 72 63 69 6f 6e 3a 20 53 74 72 69 63 74 65 72 20 51 75 61 6c 69 66 69 63 61 74 69 6f 6e Coercion:.Stricter.Qualification
33a0 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 3c 61 </a></li>.................<li><a
33c0 20 69 64 3d 22 74 6f 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 .id="toc-Type-Coercion-Integer-a
33e0 6e 64 2d 46 6c 6f 61 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 nd-Float-Widening".href="index.x
3400 68 74 6d 6c 23 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 html#Type-Coercion-Integer-and-F
3420 6c 6f 61 74 2d 57 69 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 loat-Widening">Type.Coercion:.In
3440 74 65 67 65 72 20 61 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 teger.and.Float.Widening</a></li
3460 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
3480 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f -Type-Coercion-Coercion-Float-to
34a0 2d 49 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 -Int".href="index.xhtml#Type-Coe
34c0 72 63 69 6f 6e 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 3e 54 79 70 rcion-Coercion-Float-to-Int">Typ
34e0 65 20 43 6f 65 72 63 69 6f 6e 3a 20 43 6f 65 72 63 69 6f 6e 20 46 6c 6f 61 74 20 74 6f 20 49 6e e.Coercion:.Coercion.Float.to.In
3500 74 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 3c t</a></li>.................<li><
3520 61 20 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 a.id="toc-Type-Coercion-Slices-A
3540 72 72 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 rrays-and-Pointers".href="index.
3560 78 68 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 xhtml#Type-Coercion-Slices-Array
3580 73 2d 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 s-and-Pointers">Type.Coercion:.S
35a0 6c 69 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 lices,.Arrays.and.Pointers</a></
35c0 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
35e0 6f 63 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 oc-Type-Coercion-Optionals".href
3600 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 4f 70 74 69 ="index.xhtml#Type-Coercion-Opti
3620 6f 6e 61 6c 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 4f 70 74 69 6f 6e 61 6c 73 3c onals">Type.Coercion:.Optionals<
3640 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.
3660 69 64 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 id="toc-Type-Coercion-Error-Unio
3680 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 ns".href="index.xhtml#Type-Coerc
36a0 69 6f 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 ion-Error-Unions">Type.Coercion:
36c0 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 .Error.Unions</a></li>..........
36e0 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
3700 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 20 ion-Compile-Time-Known-Numbers".
3720 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 6e 2d href="index.xhtml#Type-Coercion-
3740 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 3e 54 79 70 65 Compile-Time-Known-Numbers">Type
3760 20 43 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 .Coercion:.Compile-Time.Known.Nu
3780 6d 62 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c mbers</a></li>.................<
37a0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 69 6f li><a.id="toc-Type-Coercion-unio
37c0 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 ns-and-enums".href="index.xhtml#
37e0 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 69 6f 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 3e Type-Coercion-unions-and-enums">
3800 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 3c Type.Coercion:.unions.and.enums<
3820 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.
3840 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 5a 65 72 6f 2d 42 69 74 2d 54 id="toc-Type-Coercion-Zero-Bit-T
3860 79 70 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 ypes".href="index.xhtml#Type-Coe
3880 72 63 69 6f 6e 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 54 79 70 65 20 43 6f 65 72 63 rcion-Zero-Bit-Types">Type.Coerc
38a0 69 6f 6e 3a 20 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 ion:.Zero.Bit.Types</a></li>....
38c0 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 .............<li><a.id="toc-Type
38e0 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 -Coercion-undefined".href="index
3900 2e 78 68 74 6d 6c 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e .xhtml#Type-Coercion-undefined">
3920 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 3c 2f 6c 69 Type.Coercion:.undefined</a></li
3940 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 20 20 20 20 >.............</ol></li>........
3960 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 2d 43 61 73 .....<li><a.id="toc-Explicit-Cas
3980 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 69 74 2d 43 ts".href="index.xhtml#Explicit-C
39a0 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 3e 0a 20 20 asts">Explicit.Casts</a></li>...
39c0 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 72 2d 54 79 ..........<li><a.id="toc-Peer-Ty
39e0 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 68 74 6d 6c pe-Resolution".href="index.xhtml
3a00 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
3a20 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 20 3c 2f 6f .Resolution</a></li>.........</o
3a40 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a l></li>.........<li><a.id="toc-Z
3a60 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 68 74 6d 6c ero-Bit-Types".href="index.xhtml
3a80 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 70 65 73 3c #Zero-Bit-Types">Zero.Bit.Types<
3aa0 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 /a>.........<ol>.............<li
3ac0 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 78 2e 78 68 ><a.id="toc-void".href="index.xh
3ae0 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 20 20 20 20 tml#void">void</a></li>.........
3b00 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 73 2d 74 6f 2d 5a ....<li><a.id="toc-Pointers-to-Z
3b20 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 68 74 6d 6c ero-Bit-Types".href="index.xhtml
3b40 23 50 6f 69 6e 74 65 72 73 2d 74 6f 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 50 6f 69 #Pointers-to-Zero-Bit-Types">Poi
3b60 6e 74 65 72 73 20 74 6f 20 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e nters.to.Zero.Bit.Types</a></li>
3b80 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e .........</ol></li>.........<li>
3ba0 3c 61 20 69 64 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 <a.id="toc-Result-Location-Seman
3bc0 74 69 63 73 22 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 tics".href="index.xhtml#Result-L
3be0 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 52 65 73 75 6c 74 20 4c 6f 63 61 74 69 ocation-Semantics">Result.Locati
3c00 6f 6e 20 53 65 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 on.Semantics</a></li>.........<l
3c20 69 3e 3c 61 20 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 i><a.id="toc-usingnamespace".hre
3c40 66 3d 22 69 6e 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 f="index.xhtml#usingnamespace">u
3c60 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 20 20 3c singnamespace</a></li>.........<
3c80 6c 69 3e 3c 61 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 li><a.id="toc-comptime".href="in
3ca0 64 65 78 2e 78 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 dex.xhtml#comptime">comptime</a>
3cc0 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 61 .........<ol>.............<li><a
3ce0 20 69 64 3d 22 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 .id="toc-Introducing-the-Compile
3d00 2d 54 69 6d 65 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 -Time-Concept".href="index.xhtml
3d20 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 43 6f #Introducing-the-Compile-Time-Co
3d40 6e 63 65 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 ncept">Introducing.the.Compile-T
3d60 69 6d 65 20 43 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 ime.Concept</a>.............<ol>
3d80 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-
3da0 43 6f 6d 70 69 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 Compile-Time-Parameters".href="i
3dc0 6e 64 65 78 2e 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 ndex.xhtml#Compile-Time-Paramete
3de0 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 3c rs">Compile-Time.Parameters</a><
3e00 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="
3e20 74 6f 63 2d 43 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 toc-Compile-Time-Variables".href
3e40 3d 22 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 56 61 72 69 61 ="index.xhtml#Compile-Time-Varia
3e60 62 6c 65 73 22 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 bles">Compile-Time.Variables</a>
3e80 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d </li>.................<li><a.id=
3ea0 22 74 6f 63 2d 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 "toc-Compile-Time-Expressions".h
3ec0 72 65 66 3d 22 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 ref="index.xhtml#Compile-Time-Ex
3ee0 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 78 70 72 65 73 73 69 pressions">Compile-Time.Expressi
3f00 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 6c 3e 3c 2f ons</a></li>.............</ol></
3f20 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 47 li>.............<li><a.id="toc-G
3f40 65 6e 65 72 69 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 eneric-Data-Structures".href="in
3f60 64 65 78 2e 78 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 dex.xhtml#Generic-Data-Structure
3f80 73 22 3e 47 65 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 s">Generic.Data.Structures</a></
3fa0 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 43 li>.............<li><a.id="toc-C
3fc0 61 73 65 2d 53 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 ase-Study-print-in-Zig".href="in
3fe0 64 65 78 2e 78 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 dex.xhtml#Case-Study-print-in-Zi
4000 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 3c g">Case.Study:.print.in.Zig</a><
4020 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 /li>.........</ol></li>.........
4040 3c 6c 69 3e 3c 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 <li><a.id="toc-Assembly".href="i
4060 6e 64 65 78 2e 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 ndex.xhtml#Assembly">Assembly</a
4080 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><
40a0 61 20 69 64 3d 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 a.id="toc-Output-Constraints".hr
40c0 65 66 3d 22 69 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 ef="index.xhtml#Output-Constrain
40e0 74 73 22 3e 4f 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 ts">Output.Constraints</a></li>.
4100 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 6e 70 75 74 ............<li><a.id="toc-Input
4120 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 -Constraints".href="index.xhtml#
4140 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
4160 69 6e 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 ints</a></li>.............<li><a
4180 20 69 64 3d 22 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 .id="toc-Clobbers".href="index.x
41a0 68 74 6d 6c 23 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 html#Clobbers">Clobbers</a></li>
41c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 6c 6f 62 .............<li><a.id="toc-Glob
41e0 61 6c 2d 41 73 73 65 6d 62 6c 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 47 al-Assembly".href="index.xhtml#G
4200 6c 6f 62 61 6c 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 lobal-Assembly">Global.Assembly<
4220 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 /a></li>.........</ol></li>.....
4240 20 20 20 20 3c 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 ....<li><a.id="toc-Atomics".href
4260 3d 22 69 6e 64 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 ="index.xhtml#Atomics">Atomics</
4280 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 41 a></li>.........<li><a.id="toc-A
42a0 73 79 6e 63 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 sync-Functions".href="index.xhtm
42c0 6c 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 l#Async-Functions">Async.Functio
42e0 6e 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ns</a>.........<ol>.............
4300 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 75 73 70 65 6e 64 2d 61 6e 64 2d 52 65 73 75 6d <li><a.id="toc-Suspend-and-Resum
4320 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 75 73 70 65 6e 64 2d 61 6e 64 e".href="index.xhtml#Suspend-and
4340 2d 52 65 73 75 6d 65 22 3e 53 75 73 70 65 6e 64 20 61 6e 64 20 52 65 73 75 6d 65 3c 2f 61 3e 0a -Resume">Suspend.and.Resume</a>.
4360 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............<ol>................
4380 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 73 75 6d 69 6e 67 2d 66 72 6f 6d 2d 53 75 .<li><a.id="toc-Resuming-from-Su
43a0 73 70 65 6e 64 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 spend-Blocks".href="index.xhtml#
43c0 52 65 73 75 6d 69 6e 67 2d 66 72 6f 6d 2d 53 75 73 70 65 6e 64 2d 42 6c 6f 63 6b 73 22 3e 52 65 Resuming-from-Suspend-Blocks">Re
43e0 73 75 6d 69 6e 67 20 66 72 6f 6d 20 53 75 73 70 65 6e 64 20 42 6c 6f 63 6b 73 3c 2f 61 3e 3c 2f suming.from.Suspend.Blocks</a></
4400 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 20 20 li>.............</ol></li>......
4420 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 61 6e 64 2d .......<li><a.id="toc-Async-and-
4440 41 77 61 69 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 73 79 6e 63 2d 61 Await".href="index.xhtml#Async-a
4460 6e 64 2d 41 77 61 69 74 22 3e 41 73 79 6e 63 20 61 6e 64 20 41 77 61 69 74 3c 2f 61 3e 3c 2f 6c nd-Await">Async.and.Await</a></l
4480 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 41 73 i>.............<li><a.id="toc-As
44a0 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 2d 45 78 61 6d 70 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 ync-Function-Example".href="inde
44c0 78 2e 78 68 74 6d 6c 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 2d 45 78 61 6d 70 6c 65 22 3e x.xhtml#Async-Function-Example">
44e0 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 20 45 78 61 6d 70 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a Async.Function.Example</a></li>.
4500 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><
4520 61 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 a.id="toc-Builtin-Functions".hre
4540 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 f="index.xhtml#Builtin-Functions
4560 22 3e 42 75 69 6c 74 69 6e 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 ">Builtin.Functions</a>.........
4580 3c 6f 6c 20 73 74 79 6c 65 3d 22 63 6f 6c 75 6d 6e 73 3a 20 32 22 3e 0a 20 20 20 20 20 20 20 20 <ol.style="columns:.2">.........
45a0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 64 64 57 69 74 68 4f 76 65 72 66 6c ....<li><a.id="toc-addWithOverfl
45c0 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 64 64 57 69 74 68 4f 76 65 ow".href="index.xhtml#addWithOve
45e0 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e rflow">@addWithOverflow</a></li>
4600 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 6c 69 67 .............<li><a.id="toc-alig
4620 6e 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 6c 69 67 6e 43 61 nCast".href="index.xhtml#alignCa
4640 73 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 st">@alignCast</a></li>.........
4660 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 6c 69 67 6e 4f 66 22 20 68 72 65 66 ....<li><a.id="toc-alignOf".href
4680 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 6c 69 67 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 3c ="index.xhtml#alignOf">@alignOf<
46a0 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="
46c0 74 6f 63 2d 61 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 61 73 22 3e 40 61 toc-as".href="index.xhtml#as">@a
46e0 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 64 s</a></li>.............<li><a.id
4700 3d 22 74 6f 63 2d 61 73 79 6e 63 43 61 6c 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 ="toc-asyncCall".href="index.xht
4720 6d 6c 23 61 73 79 6e 63 43 61 6c 6c 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 61 3e 3c 2f 6c 69 ml#asyncCall">@asyncCall</a></li
4740 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
4760 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
4780 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>.....
47a0 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
47c0 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">@
47e0 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>.............<
4800 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=
4820 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
4840 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>
4860 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.
4880 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>
48a0 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
48c0 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
48e0 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>...
4900 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 6f 6f 6c 54 6f 49 ..........<li><a.id="toc-boolToI
4920 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 6f 6f 6c 54 6f 49 6e 74 22 nt".href="index.xhtml#boolToInt"
4940 3e 40 62 6f 6f 6c 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 >@boolToInt</a></li>............
4960 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 69 74 53 69 7a 65 4f 66 22 20 68 72 65 66 3d .<li><a.id="toc-bitSizeOf".href=
4980 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 62 69 74 53 69 7a 65 4f 66 22 3e 40 62 69 74 53 69 7a 65 "index.xhtml#bitSizeOf">@bitSize
49a0 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 69 3e 3c 61 20 69 Of</a></li>.............<li><a.i
49c0 64 3d 22 74 6f 63 2d 62 72 65 61 6b 70 6f 69 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 d="toc-breakpoint".href="index.x
49e0 68 74 6d 6c 23 62 72 65 61 6b 70 6f 69 6e 74 22 3e 40 62 72 65 61 6b 70 6f 69 6e 74 3c 2f 61 3e html#breakpoint">@breakpoint</a>
4a00 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
4a20 2d 6d 75 6c 41 64 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 75 6c 41 64 -mulAdd".href="index.xhtml#mulAd
4a40 64 22 3e 40 6d 75 6c 41 64 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 d">@mulAdd</a></li>.............
4a60 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 79 74 65 53 77 61 70 22 20 68 72 65 66 3d 22 69 <li><a.id="toc-byteSwap".href="i
4a80 6e 64 65 78 2e 78 68 74 6d 6c 23 62 79 74 65 53 77 61 70 22 3e 40 62 79 74 65 53 77 61 70 3c 2f ndex.xhtml#byteSwap">@byteSwap</
4aa0 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
4ac0 6f 63 2d 62 69 74 52 65 76 65 72 73 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c oc-bitReverse".href="index.xhtml
4ae0 23 62 69 74 52 65 76 65 72 73 65 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 61 3e 3c 2f 6c 69 #bitReverse">@bitReverse</a></li
4b00 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 6f 66 66 >.............<li><a.id="toc-off
4b20 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 6f 66 66 73 65 74 4f setOf".href="index.xhtml#offsetO
4b40 66 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 f">@offsetOf</a></li>...........
4b60 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 61 6c 6c 22 20 68 72 65 66 3d 22 69 6e 64 ..<li><a.id="toc-call".href="ind
4b80 65 78 2e 78 68 74 6d 6c 23 63 61 6c 6c 22 3e 40 63 61 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ex.xhtml#call">@call</a></li>...
4ba0 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 44 65 66 69 6e 65 ..........<li><a.id="toc-cDefine
4bc0 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 44 65 66 69 6e 65 22 3e 40 63 44 ".href="index.xhtml#cDefine">@cD
4be0 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c efine</a></li>.............<li><
4c00 61 20 69 64 3d 22 74 6f 63 2d 63 49 6d 70 6f 72 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 a.id="toc-cImport".href="index.x
4c20 68 74 6d 6c 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a html#cImport">@cImport</a></li>.
4c40 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 49 6e 63 6c ............<li><a.id="toc-cIncl
4c60 75 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 49 6e 63 6c 75 64 65 22 ude".href="index.xhtml#cInclude"
4c80 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 >@cInclude</a></li>.............
4ca0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6c 7a 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e <li><a.id="toc-clz".href="index.
4cc0 78 68 74 6d 6c 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 xhtml#clz">@clz</a></li>........
4ce0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6d 70 78 63 68 67 53 74 72 6f 6e .....<li><a.id="toc-cmpxchgStron
4d00 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6d 70 78 63 68 67 53 74 72 6f g".href="index.xhtml#cmpxchgStro
4d20 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 20 20 20 20 ng">@cmpxchgStrong</a></li>.....
4d40 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 78 63 68 67 57 65 ........<li><a.id="toc-cmpxchgWe
4d60 61 6b 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6d 70 78 63 68 67 57 65 61 ak".href="index.xhtml#cmpxchgWea
4d80 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 20 20 20 20 20 20 20 k">@cmpxchgWeak</a></li>........
4da0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 6d 70 69 6c 65 45 72 72 6f 72 .....<li><a.id="toc-compileError
4dc0 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 6c 65 45 72 72 6f 72 ".href="index.xhtml#compileError
4de0 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 20 20 20 20 20 20 20 ">@compileError</a></li>........
4e00 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 6d 70 69 6c 65 4c 6f 67 22 20 .....<li><a.id="toc-compileLog".
4e20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e 40 63 href="index.xhtml#compileLog">@c
4e40 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ompileLog</a></li>.............<
4e60 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
4e80 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>.........
4ea0 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=
4ec0 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>
4ee0 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
4f00 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 76 -divExact".href="index.xhtml#div
4f20 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 20 Exact">@divExact</a></li>.......
4f40 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 68 ......<li><a.id="toc-divFloor".h
4f60 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 46 ref="index.xhtml#divFloor">@divF
4f80 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 61 loor</a></li>.............<li><a
4fa0 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 78 .id="toc-divTrunc".href="index.x
4fc0 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 69 html#divTrunc">@divTrunc</a></li
4fe0 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 62 >.............<li><a.id="toc-emb
5000 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 46 edFile".href="index.xhtml#embedF
5020 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 20 ile">@embedFile</a></li>........
5040 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 6e 75 6d 54 6f 49 6e 74 22 20 68 .....<li><a.id="toc-enumToInt".h
5060 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 6e 75 6d 54 6f 49 6e 74 22 3e 40 65 6e 75 ref="index.xhtml#enumToInt">@enu
5080 6d 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e mToInt</a></li>.............<li>
50a0 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 66 3d 22 69 6e 64 65 <a.id="toc-errorName".href="inde
50c0 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 4e 61 6d 65 3c 2f 61 x.xhtml#errorName">@errorName</a
50e0 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
5100 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 22 69 6e 64 65 78 2e c-errorReturnTrace".href="index.
5120 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 65 72 72 6f 72 52 65 xhtml#errorReturnTrace">@errorRe
5140 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 20 20 20 20 20 20 3c turnTrace</a></li>.............<
5160 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 6f 72 54 6f 49 6e 74 22 20 68 72 65 66 3d 22 li><a.id="toc-errorToInt".href="
5180 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 72 72 6f 72 54 6f 49 6e 74 22 3e 40 65 72 72 6f 72 54 6f index.xhtml#errorToInt">@errorTo
51a0 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 Int</a></li>.............<li><a.
51c0 69 64 3d 22 74 6f 63 2d 65 72 72 53 65 74 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e id="toc-errSetCast".href="index.
51e0 78 68 74 6d 6c 23 65 72 72 53 65 74 43 61 73 74 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 61 xhtml#errSetCast">@errSetCast</a
5200 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
5220 63 2d 65 78 70 6f 72 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 70 6f c-export".href="index.xhtml#expo
5240 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 rt">@export</a></li>............
5260 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 65 72 6e 22 20 68 72 65 66 3d 22 69 6e .<li><a.id="toc-extern".href="in
5280 64 65 78 2e 78 68 74 6d 6c 23 65 78 74 65 72 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 61 3e 3c 2f 6c dex.xhtml#extern">@extern</a></l
52a0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 65 i>.............<li><a.id="toc-fe
52c0 6e 63 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 65 6e 63 65 22 3e 40 66 nce".href="index.xhtml#fence">@f
52e0 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 ence</a></li>.............<li><a
5300 20 69 64 3d 22 74 6f 63 2d 66 69 65 6c 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d .id="toc-field".href="index.xhtm
5320 6c 23 66 69 65 6c 64 22 3e 40 66 69 65 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 l#field">@field</a></li>........
5340 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 69 65 6c 64 50 61 72 65 6e 74 50 .....<li><a.id="toc-fieldParentP
5360 74 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 69 65 6c 64 50 61 72 65 6e tr".href="index.xhtml#fieldParen
5380 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 tPtr">@fieldParentPtr</a></li>..
53a0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6c 6f 61 74 43 ...........<li><a.id="toc-floatC
53c0 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 6c 6f 61 74 43 61 73 74 ast".href="index.xhtml#floatCast
53e0 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ">@floatCast</a></li>...........
5400 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6c 6f 61 74 54 6f 49 6e 74 22 20 68 72 65 ..<li><a.id="toc-floatToInt".hre
5420 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 f="index.xhtml#floatToInt">@floa
5440 74 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e tToInt</a></li>.............<li>
5460 3c 61 20 69 64 3d 22 74 6f 63 2d 66 72 61 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 <a.id="toc-frame".href="index.xh
5480 74 6d 6c 23 66 72 61 6d 65 22 3e 40 66 72 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 tml#frame">@frame</a></li>......
54a0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 72 61 6d 65 22 20 68 72 65 .......<li><a.id="toc-Frame".hre
54c0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 46 72 61 6d 65 22 3e 40 46 72 61 6d 65 3c 2f 61 3e f="index.xhtml#Frame">@Frame</a>
54e0 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
5500 2d 66 72 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 -frameAddress".href="index.xhtml
5520 23 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 40 66 72 61 6d 65 41 64 64 72 65 73 73 3c 2f 61 3e #frameAddress">@frameAddress</a>
5540 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
5560 2d 66 72 61 6d 65 53 69 7a 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 72 -frameSize".href="index.xhtml#fr
5580 61 6d 65 53 69 7a 65 22 3e 40 66 72 61 6d 65 53 69 7a 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 ameSize">@frameSize</a></li>....
55a0 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 73 44 65 63 6c 22 .........<li><a.id="toc-hasDecl"
55c0 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 22 3e 40 68 61 73 .href="index.xhtml#hasDecl">@has
55e0 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 3c 6c 69 3e 3c 61 Decl</a></li>.............<li><a
5600 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 6e 64 65 78 2e 78 .id="toc-hasField".href="index.x
5620 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 61 3e 3c 2f 6c 69 html#hasField">@hasField</a></li
5640 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6d 70 >.............<li><a.id="toc-imp
5660 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 6f 72 74 22 3e 40 ort".href="index.xhtml#import">@
5680 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 20 20 3c 6c 69 3e import</a></li>.............<li>
56a0 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.
56c0 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>
56e0 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 54 .............<li><a.id="toc-intT
5700 6f 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 54 6f 45 6e oEnum".href="index.xhtml#intToEn
5720 75 6d 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 um">@intToEnum</a></li>.........
5740 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 54 6f 45 72 72 6f 72 22 20 68 ....<li><a.id="toc-intToError".h
5760 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 54 6f 45 72 72 6f 72 22 3e 40 69 6e ref="index.xhtml#intToError">@in
5780 74 54 6f 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c tToError</a></li>.............<l
57a0 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 54 6f 46 6c 6f 61 74 22 20 68 72 65 66 3d 22 69 i><a.id="toc-intToFloat".href="i
57c0 6e 64 65 78 2e 78 68 74 6d 6c 23 69 6e 74 54 6f 46 6c 6f 61 74 22 3e 40 69 6e 74 54 6f 46 6c 6f ndex.xhtml#intToFloat">@intToFlo
57e0 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 at</a></li>.............<li><a.i
5800 64 3d 22 74 6f 63 2d 69 6e 74 54 6f 50 74 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 d="toc-intToPtr".href="index.xht
5820 6d 6c 23 69 6e 74 54 6f 50 74 72 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a ml#intToPtr">@intToPtr</a></li>.
5840 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 6d 61 78 69 6d ............<li><a.id="toc-maxim
5860 75 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 61 78 69 6d 75 6d 22 3e 40 um".href="index.xhtml#maximum">@
5880 6d 61 78 69 6d 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 maximum</a></li>.............<li
58a0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 65 6d 63 70 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e ><a.id="toc-memcpy".href="index.
58c0 78 68 74 6d 6c 23 6d 65 6d 63 70 79 22 3e 40 6d 65 6d 63 70 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 xhtml#memcpy">@memcpy</a></li>..
58e0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 65 6d 73 65 74 ...........<li><a.id="toc-memset
5900 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6d 65 6d 73 65 74 22 3e 40 6d 65 6d ".href="index.xhtml#memset">@mem
5920 73 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 set</a></li>.............<li><a.
5940 69 64 3d 22 74 6f 63 2d 6d 69 6e 69 6d 75 6d 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 id="toc-minimum".href="index.xht
5960 6d 6c 23 6d 69 6e 69 6d 75 6d 22 3e 40 6d 69 6e 69 6d 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ml#minimum">@minimum</a></li>...
5980 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 4d 65 6d ..........<li><a.id="toc-wasmMem
59a0 6f 72 79 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 orySize".href="index.xhtml#wasmM
59c0 65 6d 6f 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 emorySize">@wasmMemorySize</a></
59e0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 li>.............<li><a.id="toc-w
5a00 61 73 6d 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 asmMemoryGrow".href="index.xhtml
5a20 23 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 #wasmMemoryGrow">@wasmMemoryGrow
5a40 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=
5a60 22 74 6f 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 "toc-mod".href="index.xhtml#mod"
5a80 3e 40 6d 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 >@mod</a></li>.............<li><
5aa0 61 20 69 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 a.id="toc-mulWithOverflow".href=
5ac0 22 69 6e 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 "index.xhtml#mulWithOverflow">@m
5ae0 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 20 ulWithOverflow</a></li>.........
5b00 20 20 20 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 ....<li><a.id="toc-panic".href="
5b20 69 6e 64 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 index.xhtml#panic">@panic</a></l
5b40 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 70 6f i>.............<li><a.id="toc-po
5b60 70 43 6f 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 pCount".href="index.xhtml#popCou
5b80 6e 74 22 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 nt">@popCount</a></li>..........
5ba0 20 20 20 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 ...<li><a.id="toc-prefetch".href
5bc0 3d 22 69 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 ="index.xhtml#prefetch">@prefetc
5be0 68 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 h</a></li>.............<li><a.id
5c00 3d 22 74 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 ="toc-ptrCast".href="index.xhtml
5c20 23 70 74 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 #ptrCast">@ptrCast</a></li>.....
5c40 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 74 72 54 6f 49 6e 74 22 ........<li><a.id="toc-ptrToInt"
5c60 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 70 74 72 54 6f 49 6e 74 22 3e 40 70 74 .href="index.xhtml#ptrToInt">@pt
5c80 72 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e rToInt</a></li>.............<li>
5ca0 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 68 74 6d <a.id="toc-rem".href="index.xhtm
5cc0 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 20 20 20 l#rem">@rem</a></li>............
5ce0 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 22 20 68 .<li><a.id="toc-returnAddress".h
5d00 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 73 22 3e ref="index.xhtml#returnAddress">
5d20 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 20 20 20 @returnAddress</a></li>.........
5d40 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 65 66 3d ....<li><a.id="toc-select".href=
5d60 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 2f 61 3e "index.xhtml#select">@select</a>
5d80 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
5da0 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 68 74 6d -setAlignStack".href="index.xhtm
5dc0 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 63 6b 3c l#setAlignStack">@setAlignStack<
5de0 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="
5e00 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 6c 23 73 toc-setCold".href="index.xhtml#s
5e20 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 20 20 20 etCold">@setCold</a></li>.......
5e40 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 72 61 6e ......<li><a.id="toc-setEvalBran
5e60 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 74 45 76 chQuota".href="index.xhtml#setEv
5e80 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 51 75 6f alBranchQuota">@setEvalBranchQuo
5ea0 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 61 20 69 ta</a></li>.............<li><a.i
5ec0 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 64 65 78 d="toc-setFloatMode".href="index
5ee0 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 74 4d 6f .xhtml#setFloatMode">@setFloatMo
5f00 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 de</a></li>.............<li><a.i
5f20 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 3d 22 69 d="toc-setRuntimeSafety".href="i
5f40 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 40 73 65 ndex.xhtml#setRuntimeSafety">@se
5f60 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 20 20 20 tRuntimeSafety</a></li>.........
5f80 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 68 72 65 ....<li><a.id="toc-shlExact".hre
5fa0 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 45 78 61 f="index.xhtml#shlExact">@shlExa
5fc0 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
5fe0 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 22 69 6e d="toc-shlWithOverflow".href="in
6000 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 68 6c 57 dex.xhtml#shlWithOverflow">@shlW
6020 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>............
6040 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 66 3d 22 .<li><a.id="toc-shrExact".href="
6060 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 63 74 3c index.xhtml#shrExact">@shrExact<
6080 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="
60a0 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 6c 23 73 toc-shuffle".href="index.xhtml#s
60c0 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 20 20 20 huffle">@shuffle</a></li>.......
60e0 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 68 72 65 ......<li><a.id="toc-sizeOf".hre
6100 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 66 3c 2f f="index.xhtml#sizeOf">@sizeOf</
6120 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
6140 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 70 6c 61 oc-splat".href="index.xhtml#spla
6160 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 20 20 3c t">@splat</a></li>.............<
6180 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 6e 64 65 li><a.id="toc-reduce".href="inde
61a0 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 6c 69 3e x.xhtml#reduce">@reduce</a></li>
61c0 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 72 63 22 .............<li><a.id="toc-src"
61e0 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 2f 61 3e .href="index.xhtml#src">@src</a>
6200 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
6220 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 22 3e 40 -sqrt".href="index.xhtml#sqrt">@
6240 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 3e 3c 61 sqrt</a></li>.............<li><a
6260 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 6d 6c 23 .id="toc-sin".href="index.xhtml#
6280 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 20 20 3c sin">@sin</a></li>.............<
62a0 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 78 2e 78 li><a.id="toc-cos".href="index.x
62c0 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 20 20 20 html#cos">@cos</a></li>.........
62e0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 70 22 20 68 72 65 66 3d 22 69 6e ....<li><a.id="toc-exp".href="in
6300 64 65 78 2e 78 68 74 6d 6c 23 65 78 70 22 3e 40 65 78 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 dex.xhtml#exp">@exp</a></li>....
6320 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 32 22 20 68 72 .........<li><a.id="toc-exp2".hr
6340 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 65 78 70 32 22 3e 40 65 78 70 32 3c 2f 61 3e 3c ef="index.xhtml#exp2">@exp2</a><
6360 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-
6380 6c 6f 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6c 6f 67 22 3e 40 6c 6f 67 log".href="index.xhtml#log">@log
63a0 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=
63c0 22 74 6f 63 2d 6c 6f 67 32 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 6c 6f 67 "toc-log2".href="index.xhtml#log
63e0 32 22 3e 40 6c 6f 67 32 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 2">@log2</a></li>.............<l
6400 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6c 6f 67 31 30 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e i><a.id="toc-log10".href="index.
6420 78 68 74 6d 6c 23 6c 6f 67 31 30 22 3e 40 6c 6f 67 31 30 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 xhtml#log10">@log10</a></li>....
6440 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 61 62 73 22 20 68 72 .........<li><a.id="toc-fabs".hr
6460 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 61 62 73 22 3e 40 66 61 62 73 3c 2f 61 3e 3c ef="index.xhtml#fabs">@fabs</a><
6480 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-
64a0 66 6c 6f 6f 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 66 6c 6f 6f 72 22 3e floor".href="index.xhtml#floor">
64c0 40 66 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 @floor</a></li>.............<li>
64e0 3c 61 20 69 64 3d 22 74 6f 63 2d 63 65 69 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 <a.id="toc-ceil".href="index.xht
6500 6d 6c 23 63 65 69 6c 22 3e 40 63 65 69 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ml#ceil">@ceil</a></li>.........
6520 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 75 6e 63 22 20 68 72 65 66 3d 22 ....<li><a.id="toc-trunc".href="
6540 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 72 75 6e 63 22 3e 40 74 72 75 6e 63 3c 2f 61 3e 3c 2f 6c index.xhtml#trunc">@trunc</a></l
6560 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 72 6f i>.............<li><a.id="toc-ro
6580 75 6e 64 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 72 6f 75 6e 64 22 3e 40 72 und".href="index.xhtml#round">@r
65a0 6f 75 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 6c 69 3e 3c 61 ound</a></li>.............<li><a
65c0 20 69 64 3d 22 74 6f 63 2d 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 .id="toc-subWithOverflow".href="
65e0 69 6e 64 65 78 2e 78 68 74 6d 6c 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 75 index.xhtml#subWithOverflow">@su
6600 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 bWithOverflow</a></li>..........
6620 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 61 67 4e 61 6d 65 22 20 68 72 65 66 3d ...<li><a.id="toc-tagName".href=
6640 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d 65 3c 2f "index.xhtml#tagName">@tagName</
6660 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 a></li>.............<li><a.id="t
6680 6f 63 2d 54 68 69 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 68 69 73 22 oc-This".href="index.xhtml#This"
66a0 3e 40 54 68 69 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 >@This</a></li>.............<li>
66c0 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 75 6e 63 61 74 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 <a.id="toc-truncate".href="index
66e0 2e 78 68 74 6d 6c 23 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 3c 2f .xhtml#truncate">@truncate</a></
6700 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
6720 79 70 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 22 3e 40 54 79 ype".href="index.xhtml#Type">@Ty
6740 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 pe</a></li>.............<li><a.i
6760 64 3d 22 74 6f 63 2d 74 79 70 65 49 6e 66 6f 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 d="toc-typeInfo".href="index.xht
6780 6d 6c 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a ml#typeInfo">@typeInfo</a></li>.
67a0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 79 70 65 4e ............<li><a.id="toc-typeN
67c0 61 6d 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 74 79 70 65 4e 61 6d 65 22 ame".href="index.xhtml#typeName"
67e0 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 >@typeName</a></li>.............
6800 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 4f 66 22 20 68 72 65 66 3d 22 69 6e 64 <li><a.id="toc-TypeOf".href="ind
6820 65 78 2e 78 68 74 6d 6c 23 54 79 70 65 4f 66 22 3e 40 54 79 70 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 ex.xhtml#TypeOf">@TypeOf</a></li
6840 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 69 >.............<li><a.id="toc-uni
6860 6f 6e 49 6e 69 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 75 6e 69 6f 6e 49 onInit".href="index.xhtml#unionI
6880 6e 69 74 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 nit">@unionInit</a></li>........
68a0 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
68c0 6f 63 2d 42 75 69 6c 64 2d 4d 6f 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c oc-Build-Mode".href="index.xhtml
68e0 23 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c 2f 61 3e 0a 20 20 20 20 #Build-Mode">Build.Mode</a>.....
6900 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="
6920 74 6f 63 2d 44 65 62 75 67 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 65 62 toc-Debug".href="index.xhtml#Deb
6940 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ug">Debug</a></li>.............<
6960 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6c 65 61 73 65 46 61 73 74 22 20 68 72 65 66 3d li><a.id="toc-ReleaseFast".href=
6980 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 "index.xhtml#ReleaseFast">Releas
69a0 65 46 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 eFast</a></li>.............<li><
69c0 61 20 69 64 3d 22 74 6f 63 2d 52 65 6c 65 61 73 65 53 61 66 65 22 20 68 72 65 66 3d 22 69 6e 64 a.id="toc-ReleaseSafe".href="ind
69e0 65 78 2e 78 68 74 6d 6c 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 ex.xhtml#ReleaseSafe">ReleaseSaf
6a00 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
6a20 3d 22 74 6f 63 2d 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e ="toc-ReleaseSmall".href="index.
6a40 78 68 74 6d 6c 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 xhtml#ReleaseSmall">ReleaseSmall
6a60 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>....
6a80 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 69 6e 67 6c 65 2d 54 68 72 65 61 .....<li><a.id="toc-Single-Threa
6aa0 64 65 64 2d 42 75 69 6c 64 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 69 ded-Builds".href="index.xhtml#Si
6ac0 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e 53 69 6e 67 6c 65 20 54 68 72 ngle-Threaded-Builds">Single.Thr
6ae0 65 61 64 65 64 20 42 75 69 6c 64 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c eaded.Builds</a></li>.........<l
6b00 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 i><a.id="toc-Undefined-Behavior"
6b20 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 .href="index.xhtml#Undefined-Beh
6b40 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 0a 20 20 avior">Undefined.Behavior</a>...
6b60 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
6b80 3d 22 74 6f 63 2d 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 ="toc-Reaching-Unreachable-Code"
6ba0 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 .href="index.xhtml#Reaching-Unre
6bc0 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e 52 65 61 63 68 69 6e 67 20 55 6e 72 65 61 63 68 61 62 achable-Code">Reaching.Unreachab
6be0 6c 65 20 43 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 le.Code</a></li>.............<li
6c00 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 22 ><a.id="toc-Index-out-of-Bounds"
6c20 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 2d .href="index.xhtml#Index-out-of-
6c40 42 6f 75 6e 64 73 22 3e 49 6e 64 65 78 20 6f 75 74 20 6f 66 20 42 6f 75 6e 64 73 3c 2f 61 3e 3c Bounds">Index.out.of.Bounds</a><
6c60 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-
6c80 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 Cast-Negative-Number-to-Unsigned
6ca0 2d 49 6e 74 65 67 65 72 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 61 73 74 -Integer".href="index.xhtml#Cast
6cc0 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 6e 74 -Negative-Number-to-Unsigned-Int
6ce0 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 55 6e eger">Cast.Negative.Number.to.Un
6d00 73 69 67 6e 65 64 20 49 6e 74 65 67 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 signed.Integer</a></li>.........
6d20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 74 2d 54 72 75 6e 63 61 74 65 ....<li><a.id="toc-Cast-Truncate
6d40 73 2d 44 61 74 61 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 54 s-Data".href="index.xhtml#Cast-T
6d60 72 75 6e 63 61 74 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 runcates-Data">Cast.Truncates.Da
6d80 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 61 20 69 ta</a></li>.............<li><a.i
6da0 64 3d 22 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 69 d="toc-Integer-Overflow".href="i
6dc0 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e 49 6e 74 ndex.xhtml#Integer-Overflow">Int
6de0 65 67 65 72 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f eger.Overflow</a>.............<o
6e00 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f l>.................<li><a.id="to
6e20 63 2d 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 c-Default-Operations".href="inde
6e40 78 2e 78 68 74 6d 6c 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 44 65 66 61 x.xhtml#Default-Operations">Defa
6e60 75 6c 74 20 4f 70 65 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 ult.Operations</a></li>.........
6e80 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 6e 64 61 72 64 2d ........<li><a.id="toc-Standard-
6ea0 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e Library-Math-Functions".href="in
6ec0 64 65 78 2e 78 68 74 6d 6c 23 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d dex.xhtml#Standard-Library-Math-
6ee0 46 75 6e 63 74 69 6f 6e 73 22 3e 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 4d 61 74 68 Functions">Standard.Library.Math
6f00 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 20 20 20 20 .Functions</a></li>.............
6f20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 ....<li><a.id="toc-Builtin-Overf
6f40 6c 6f 77 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 6c low-Functions".href="index.xhtml
6f60 23 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
6f80 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 3c 2f 6c 69 3e ltin.Overflow.Functions</a></li>
6fa0 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-
6fc0 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 Wrapping-Operations".href="index
6fe0 2e 78 68 74 6d 6c 23 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 57 72 61 70 .xhtml#Wrapping-Operations">Wrap
7000 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 20 20 20 20 20 20 20 ping.Operations</a></li>........
7020 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e .....</ol></li>.............<li>
7040 3c 61 20 69 64 3d 22 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 <a.id="toc-Exact-Left-Shift-Over
7060 66 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 4c 65 flow".href="index.xhtml#Exact-Le
7080 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 20 4c 65 66 74 20 53 68 ft-Shift-Overflow">Exact.Left.Sh
70a0 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 20 ift.Overflow</a></li>...........
70c0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 ..<li><a.id="toc-Exact-Right-Shi
70e0 66 74 2d 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 ft-Overflow".href="index.xhtml#E
7100 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 xact-Right-Shift-Overflow">Exact
7120 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 3c 2f 6c 69 3e 0a 20 .Right.Shift.Overflow</a></li>..
7140 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 69 76 69 73 69 ...........<li><a.id="toc-Divisi
7160 6f 6e 2d 62 79 2d 5a 65 72 6f 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 69 on-by-Zero".href="index.xhtml#Di
7180 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 72 6f vision-by-Zero">Division.by.Zero
71a0 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=
71c0 22 74 6f 63 2d 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 "toc-Remainder-Division-by-Zero"
71e0 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 .href="index.xhtml#Remainder-Div
7200 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 76 69 73 69 6f ision-by-Zero">Remainder.Divisio
7220 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c n.by.Zero</a></li>.............<
7240 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d li><a.id="toc-Exact-Division-Rem
7260 61 69 6e 64 65 72 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 ainder".href="index.xhtml#Exact-
7280 44 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 22 3e 45 78 61 63 74 20 44 69 76 69 73 69 Division-Remainder">Exact.Divisi
72a0 6f 6e 20 52 65 6d 61 69 6e 64 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 on.Remainder</a></li>...........
72c0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 ..<li><a.id="toc-Attempt-to-Unwr
72e0 61 70 2d 4e 75 6c 6c 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 41 74 74 65 6d ap-Null".href="index.xhtml#Attem
7300 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e 41 74 74 65 6d 70 74 20 74 6f 20 55 6e pt-to-Unwrap-Null">Attempt.to.Un
7320 77 72 61 70 20 4e 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 3c wrap.Null</a></li>.............<
7340 6c 69 3e 3c 61 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 li><a.id="toc-Attempt-to-Unwrap-
7360 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 41 74 74 65 6d 70 74 Error".href="index.xhtml#Attempt
7380 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e 41 74 74 65 6d 70 74 20 74 6f 20 55 6e 77 -to-Unwrap-Error">Attempt.to.Unw
73a0 72 61 70 20 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c rap.Error</a></li>.............<
73c0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 li><a.id="toc-Invalid-Error-Code
73e0 22 20 68 72 65 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 ".href="index.xhtml#Invalid-Erro
7400 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 65 3c 2f 61 3e 3c 2f r-Code">Invalid.Error.Code</a></
7420 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
7440 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 nvalid-Enum-Cast".href="index.xh
7460 74 6d 6c 23 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 20 45 tml#Invalid-Enum-Cast">Invalid.E
7480 6e 75 6d 20 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 num.Cast</a></li>.............<l
74a0 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 i><a.id="toc-Invalid-Error-Set-C
74c0 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 6c 69 64 2d 45 ast".href="index.xhtml#Invalid-E
74e0 72 72 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 rror-Set-Cast">Invalid.Error.Set
7500 20 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 .Cast</a></li>.............<li><
7520 61 20 69 64 3d 22 74 6f 63 2d 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 a.id="toc-Incorrect-Pointer-Alig
7540 6e 6d 65 6e 74 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 49 6e 63 6f 72 72 65 nment".href="index.xhtml#Incorre
7560 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 20 ct-Pointer-Alignment">Incorrect.
7580 50 6f 69 6e 74 65 72 20 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 Pointer.Alignment</a></li>......
75a0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 72 6f 6e 67 2d 55 6e 69 6f .......<li><a.id="toc-Wrong-Unio
75c0 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d n-Field-Access".href="index.xhtm
75e0 6c 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 57 72 6f 6e l#Wrong-Union-Field-Access">Wron
7600 67 20 55 6e 69 6f 6e 20 46 69 65 6c 64 20 41 63 63 65 73 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 g.Union.Field.Access</a></li>...
7620 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 75 74 2d 6f 66 2d ..........<li><a.id="toc-Out-of-
7640 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 73 74 22 20 68 72 Bounds-Float-to-Integer-Cast".hr
7660 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 6c ef="index.xhtml#Out-of-Bounds-Fl
7680 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 61 73 74 22 3e 4f 75 74 20 6f 66 20 42 6f 75 6e oat-to-Integer-Cast">Out.of.Boun
76a0 64 73 20 46 6c 6f 61 74 20 74 6f 20 49 6e 74 65 67 65 72 20 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 ds.Float.to.Integer.Cast</a></li
76c0 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 6f 69 >.............<li><a.id="toc-Poi
76e0 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 20 68 72 65 66 3d 22 69 6e nter-Cast-Invalid-Null".href="in
7700 64 65 78 2e 78 68 74 6d 6c 23 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e dex.xhtml#Pointer-Cast-Invalid-N
7720 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 75 6c 6c 3c 2f ull">Pointer.Cast.Invalid.Null</
7740 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 a></li>.........</ol></li>......
7760 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 65 6d 6f 72 79 22 20 68 72 65 66 3d 22 ...<li><a.id="toc-Memory".href="
7780 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 79 3c 2f 61 3e 0a 20 index.xhtml#Memory">Memory</a>..
77a0 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
77c0 64 3d 22 74 6f 63 2d 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 20 68 72 d="toc-Choosing-an-Allocator".hr
77e0 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f ef="index.xhtml#Choosing-an-Allo
7800 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 6f 72 3c 2f 61 3e cator">Choosing.an.Allocator</a>
7820 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
7840 2d 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 -Where-are-the-bytes".href="inde
7860 78 2e 78 68 74 6d 6c 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 57 68 65 x.xhtml#Where-are-the-bytes">Whe
7880 72 65 20 61 72 65 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 re.are.the.bytes?</a></li>......
78a0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 69 .......<li><a.id="toc-Implementi
78c0 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 78 2e 78 68 74 ng-an-Allocator".href="index.xht
78e0 6d 6c 23 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 49 6d ml#Implementing-an-Allocator">Im
7900 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 3c 2f 6c 69 3e plementing.an.Allocator</a></li>
7920 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 48 65 61 70 .............<li><a.id="toc-Heap
7940 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 -Allocation-Failure".href="index
7960 2e 78 68 74 6d 6c 23 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 .xhtml#Heap-Allocation-Failure">
7980 48 65 61 70 20 41 6c 6c 6f 63 61 74 69 6f 6e 20 46 61 69 6c 75 72 65 3c 2f 61 3e 3c 2f 6c 69 3e Heap.Allocation.Failure</a></li>
79a0 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 63 75 .............<li><a.id="toc-Recu
79c0 72 73 69 6f 6e 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 65 63 75 72 73 69 rsion".href="index.xhtml#Recursi
79e0 6f 6e 22 3e 52 65 63 75 72 73 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 on">Recursion</a></li>..........
7a00 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f ...<li><a.id="toc-Lifetime-and-O
7a20 77 6e 65 72 73 68 69 70 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4c 69 66 65 wnership".href="index.xhtml#Life
7a40 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e 4c 69 66 65 74 69 6d 65 20 61 6e 64 time-and-Ownership">Lifetime.and
7a60 20 4f 77 6e 65 72 73 68 69 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c .Ownership</a></li>.........</ol
7a80 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f ></li>.........<li><a.id="toc-Co
7aa0 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 mpile-Variables".href="index.xht
7ac0 6d 6c 23 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 ml#Compile-Variables">Compile.Va
7ae0 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 3c 6c 69 3e 3c 61 20 riables</a></li>.........<li><a.
7b00 69 64 3d 22 74 6f 63 2d 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 20 68 72 65 66 3d 22 id="toc-Root-Source-File".href="
7b20 69 6e 64 65 78 2e 78 68 74 6d 6c 23 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e 52 6f index.xhtml#Root-Source-File">Ro
7b40 6f 74 20 53 6f 75 72 63 65 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ot.Source.File</a></li>.........
7b60 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 <li><a.id="toc-Zig-Build-System"
7b80 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 .href="index.xhtml#Zig-Build-Sys
7ba0 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 0a 20 20 20 20 20 20 tem">Zig.Build.System</a>.......
7bc0 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
7be0 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 20 68 72 65 66 3d 22 c-Building-an-Executable".href="
7c00 69 6e 64 65 78 2e 78 68 74 6d 6c 23 42 75 69 6c 64 69 6e 67 2d 61 6e 2d 45 78 65 63 75 74 61 62 index.xhtml#Building-an-Executab
7c20 6c 65 22 3e 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 3c 2f le">Building.an.Executable</a></
7c40 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 42 li>.............<li><a.id="toc-B
7c60 75 69 6c 64 69 6e 67 2d 61 2d 4c 69 62 72 61 72 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 uilding-a-Library".href="index.x
7c80 68 74 6d 6c 23 42 75 69 6c 64 69 6e 67 2d 61 2d 4c 69 62 72 61 72 79 22 3e 42 75 69 6c 64 69 6e html#Building-a-Library">Buildin
7ca0 67 20 61 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 20 g.a.Library</a></li>............
7cc0 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 70 69 6c 69 6e 67 2d 43 2d 53 6f 75 72 .<li><a.id="toc-Compiling-C-Sour
7ce0 63 65 2d 43 6f 64 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d 70 69 ce-Code".href="index.xhtml#Compi
7d00 6c 69 6e 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 ling-C-Source-Code">Compiling.C.
7d20 53 6f 75 72 63 65 20 43 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f Source.Code</a></li>.........</o
7d40 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 l></li>.........<li><a.id="toc-C
7d60 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 22 3e 43 3c 2f 61 3e 0a 20 20 20 ".href="index.xhtml#C">C</a>....
7d80 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=
7da0 22 74 6f 63 2d 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 20 68 72 65 66 3d 22 69 6e "toc-C-Type-Primitives".href="in
7dc0 64 65 78 2e 78 68 74 6d 6c 23 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e 43 20 54 dex.xhtml#C-Type-Primitives">C.T
7de0 79 70 65 20 50 72 69 6d 69 74 69 76 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ype.Primitives</a></li>.........
7e00 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 ....<li><a.id="toc-Import-from-C
7e20 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 -Header-File".href="index.xhtml#
7e40 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 Import-from-C-Header-File">Impor
7e60 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 t.from.C.Header.File</a></li>...
7e80 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 72 61 6e 73 ..........<li><a.id="toc-C-Trans
7ea0 6c 61 74 69 6f 6e 2d 43 4c 49 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 2d lation-CLI".href="index.xhtml#C-
7ec0 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 43 Translation-CLI">C.Translation.C
7ee0 4c 49 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 LI</a>.............<ol>.........
7f00 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 61 6e 64 2d 6c ........<li><a.id="toc-Command-l
7f20 69 6e 65 2d 66 6c 61 67 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 6f 6d ine-flags".href="index.xhtml#Com
7f40 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 22 3e 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 66 6c mand-line-flags">Command.line.fl
7f60 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 6c 69 ags</a></li>.................<li
7f80 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 ><a.id="toc-Using--target-and--c
7fa0 66 6c 61 67 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 55 73 69 6e 67 2d 2d flags".href="index.xhtml#Using--
7fc0 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
7fe0 74 20 61 6e 64 20 2d 63 66 6c 61 67 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 t.and.-cflags</a></li>..........
8000 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 49 6d 70 6f 72 74 2d 76 73 .......<li><a.id="toc-cImport-vs
8020 2d 74 72 61 6e 73 6c 61 74 65 2d 63 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 -translate-c".href="index.xhtml#
8040 63 49 6d 70 6f 72 74 2d 76 73 2d 74 72 61 6e 73 6c 61 74 65 2d 63 22 3e 40 63 49 6d 70 6f 72 74 cImport-vs-translate-c">@cImport
8060 20 76 73 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 .vs.translate-c</a></li>........
8080 20 20 20 20 20 3c 2f 6f 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e .....</ol></li>.............<li>
80a0 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 61 63 68 69 6e 67 <a.id="toc-C-Translation-Caching
80c0 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 69 6f ".href="index.xhtml#C-Translatio
80e0 6e 2d 43 61 63 68 69 6e 67 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 61 63 68 69 6e 67 n-Caching">C.Translation.Caching
8100 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=
8120 22 74 6f 63 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 69 6c 75 72 65 73 22 20 68 72 65 66 3d "toc-Translation-failures".href=
8140 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 69 6c 75 72 65 "index.xhtml#Translation-failure
8160 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 61 3e 3c 2f 6c 69 3e s">Translation.failures</a></li>
8180 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 4d 61 .............<li><a.id="toc-C-Ma
81a0 63 72 6f 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 2d 4d 61 63 72 6f 73 cros".href="index.xhtml#C-Macros
81c0 22 3e 43 20 4d 61 63 72 6f 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ">C.Macros</a></li>.............
81e0 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d <li><a.id="toc-C-Pointers".href=
8200 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 "index.xhtml#C-Pointers">C.Point
8220 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ers</a></li>.............<li><a.
8240 69 64 3d 22 74 6f 63 2d 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 20 68 id="toc-Exporting-a-C-Library".h
8260 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c ref="index.xhtml#Exporting-a-C-L
8280 69 62 72 61 72 79 22 3e 45 78 70 6f 72 74 69 6e 67 20 61 20 43 20 4c 69 62 72 61 72 79 3c 2f 61 ibrary">Exporting.a.C.Library</a
82a0 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
82c0 63 2d 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 20 68 72 65 66 3d 22 69 6e 64 c-Mixing-Object-Files".href="ind
82e0 65 78 2e 78 68 74 6d 6c 23 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 3e 4d 69 ex.xhtml#Mixing-Object-Files">Mi
8300 78 69 6e 67 20 4f 62 6a 65 63 74 20 46 69 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 xing.Object.Files</a></li>......
8320 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 3d ...</ol></li>.........<li><a.id=
8340 22 74 6f 63 2d 57 65 62 41 73 73 65 6d 62 6c 79 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 "toc-WebAssembly".href="index.xh
8360 74 6d 6c 23 57 65 62 41 73 73 65 6d 62 6c 79 22 3e 57 65 62 41 73 73 65 6d 62 6c 79 3c 2f 61 3e tml#WebAssembly">WebAssembly</a>
8380 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 61 .........<ol>.............<li><a
83a0 20 69 64 3d 22 74 6f 63 2d 46 72 65 65 73 74 61 6e 64 69 6e 67 22 20 68 72 65 66 3d 22 69 6e 64 .id="toc-Freestanding".href="ind
83c0 65 78 2e 78 68 74 6d 6c 23 46 72 65 65 73 74 61 6e 64 69 6e 67 22 3e 46 72 65 65 73 74 61 6e 64 ex.xhtml#Freestanding">Freestand
83e0 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ing</a></li>.............<li><a.
8400 69 64 3d 22 74 6f 63 2d 57 41 53 49 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 id="toc-WASI".href="index.xhtml#
8420 57 41 53 49 22 3e 57 41 53 49 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 6f 6c WASI">WASI</a></li>.........</ol
8440 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 54 61 ></li>.........<li><a.id="toc-Ta
8460 72 67 65 74 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 54 61 72 67 65 74 73 rgets".href="index.xhtml#Targets
8480 22 3e 54 61 72 67 65 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c ">Targets</a></li>.........<li><
84a0 61 20 69 64 3d 22 74 6f 63 2d 53 74 79 6c 65 2d 47 75 69 64 65 22 20 68 72 65 66 3d 22 69 6e 64 a.id="toc-Style-Guide".href="ind
84c0 65 78 2e 78 68 74 6d 6c 23 53 74 79 6c 65 2d 47 75 69 64 65 22 3e 53 74 79 6c 65 20 47 75 69 64 ex.xhtml#Style-Guide">Style.Guid
84e0 65 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 e</a>.........<ol>.............<
8500 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 68 69 74 65 73 70 61 63 65 22 20 68 72 65 66 3d 22 li><a.id="toc-Whitespace".href="
8520 69 6e 64 65 78 2e 78 68 74 6d 6c 23 57 68 69 74 65 73 70 61 63 65 22 3e 57 68 69 74 65 73 70 61 index.xhtml#Whitespace">Whitespa
8540 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 ce</a></li>.............<li><a.i
8560 64 3d 22 74 6f 63 2d 4e 61 6d 65 73 22 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 d="toc-Names".href="index.xhtml#
8580 4e 61 6d 65 73 22 3e 4e 61 6d 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 Names">Names</a></li>...........
85a0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 6d 70 6c 65 73 22 20 68 72 65 66 3d ..<li><a.id="toc-Examples".href=
85c0 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 45 78 61 6d 70 6c 65 73 22 3e 45 78 61 6d 70 6c 65 73 3c "index.xhtml#Examples">Examples<
85e0 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="
8600 74 6f 63 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 20 68 72 65 66 3d 22 toc-Doc-Comment-Guidance".href="
8620 69 6e 64 65 78 2e 78 68 74 6d 6c 23 44 6f 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 index.xhtml#Doc-Comment-Guidance
8640 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 3c 2f 6c 69 3e 0a ">Doc.Comment.Guidance</a></li>.
8660 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><
8680 61 20 69 64 3d 22 74 6f 63 2d 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 20 68 72 65 66 3d a.id="toc-Source-Encoding".href=
86a0 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 53 6f "index.xhtml#Source-Encoding">So
86c0 75 72 63 65 20 45 6e 63 6f 64 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c urce.Encoding</a></li>.........<
86e0 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 li><a.id="toc-Keyword-Reference"
8700 20 68 72 65 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 23 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 .href="index.xhtml#Keyword-Refer
8720 65 6e 63 65 22 3e 4b 65 79 77 6f 72 64 20 52 65 66 65 72 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e ence">Keyword.Reference</a></li>
8740 0a 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 61 72 22 .........<li><a.id="toc-Grammar"
8760 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 72 61 6d .href="index.xhtml#Grammar">Gram
8780 6d 61 72 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 mar</a></li>.........<li><a.id="
87a0 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 6c 23 5a 65 6e 22 3e toc-Zen".href="index.xhtml#Zen">
87c0 5a 65 6e 3c 2f 61 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 Zen</a></li>.....</ol>.....</nav
87e0 3e 0a 20 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a 50 4b 03 04 14 00 00 00 00 00 00 00 >...</body>.</html>.PK..........
8800 21 52 ce d1 1c 66 87 7b 10 00 87 7b 10 00 11 00 00 00 4f 45 42 50 53 2f 69 6e 64 65 78 2e 78 68 !R...f.{...{......OEBPS/index.xh
8820 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 63 6f 64 69 6e 67 3d tml<?xml.version="1.0".encoding=
8840 22 75 74 66 2d 38 22 3f 3e 0a 0a 3c 68 74 6d 6c 20 78 6d 6c 6e 73 3d 22 68 74 74 70 3a 2f 2f 77 "utf-8"?>..<html.xmlns="http://w
8860 77 77 2e 77 33 2e 6f 72 67 2f 31 39 39 39 2f 78 68 74 6d 6c 22 20 6c 61 6e 67 3d 22 65 6e 22 3e ww.w3.org/1999/xhtml".lang="en">
8880 0a 20 20 3c 68 65 61 64 3e 0a 20 20 20 20 3c 6d 65 74 61 20 63 68 61 72 73 65 74 3d 22 75 74 66 ...<head>.....<meta.charset="utf
88a0 2d 38 22 2f 3e 0a 20 20 20 20 3c 6d 65 74 61 20 6e 61 6d 65 3d 22 76 69 65 77 70 6f 72 74 22 20 -8"/>.....<meta.name="viewport".
88c0 63 6f 6e 74 65 6e 74 3d 22 77 69 64 74 68 3d 64 65 76 69 63 65 2d 77 69 64 74 68 2c 20 69 6e 69 content="width=device-width,.ini
88e0 74 69 61 6c 2d 73 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 tial-scale=1.0"/>.....<title>Doc
8900 75 6d 65 6e 74 61 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 umentation.-.The.Zig.Programming
8920 20 4c 61 6e 67 75 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 .Language</title>.....<link.rel=
8940 22 69 63 6f 6e 22 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 "icon".href="data:image/png;base
8960 36 34 2c 69 56 42 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 64,iVBORw0KGgoAAAANSUhEUgAAABAAA
8980 41 41 51 43 41 59 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 AAQCAYAAAAf8/9hAAAAgklEQVR4AWMYW
89a0 75 44 37 45 6c 6c 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 uD7EllJIM4G4g4g5oIJ/odhOJ8wToOxS
89c0 54 58 67 4e 78 44 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 TXgNxDHoeiBMfA4+wGShjyYOCkG/IGqW
89e0 51 7a 69 45 7a 59 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 QziEzYAoUAeiF9D5U+DxEg14DRU7jWIT
8a00 35 49 42 49 4f 64 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 5IBIOdCxf+A+CQZAAoopEB7QJwBCBwHi
8a20 69 70 38 55 59 6d 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 ip8UYmRdrAlDpIMgApwQZNnNii5Dq0MB
8a40 67 43 78 78 79 63 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 gCxxycBnwEd+wAAAABJRU5ErkJggg=="
8a60 2f 3e 0a 20 20 20 20 3c 73 74 79 6c 65 3e 0a 20 20 20 20 20 20 3a 72 6f 6f 74 7b 0a 20 20 20 20 />.....<style>.......:root{.....
8a80 20 20 20 20 20 2d 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 .....--nav-width:.24em;.........
8aa0 20 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 3a 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 .--nav-margin-l:.1em;.......}...
8ac0 20 20 20 20 62 6f 64 79 7b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 66 61 6d 69 6c 79 3a 20 73 ....body{.........font-family:.s
8ae0 79 73 74 65 6d 2d 75 69 2c 20 2d 61 70 70 6c 65 2d 73 79 73 74 65 6d 2c 20 52 6f 62 6f 74 6f 2c ystem-ui,.-apple-system,.Roboto,
8b00 20 22 53 65 67 6f 65 20 55 49 22 2c 20 73 61 6e 73 2d 73 65 72 69 66 3b 0a 20 20 20 20 20 20 20 ."Segoe.UI",.sans-serif;........
8b20 20 6d 61 72 67 69 6e 3a 20 30 3b 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a .margin:.0;.........line-height:
8b40 20 31 2e 35 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 68 65 61 64 65 72 20 7b 0a 20 20 20 .1.5;.......}.......header.{....
8b60 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 .....padding:.0.1em;.......}....
8b80 20 20 20 23 63 6f 6e 74 65 6e 74 73 20 7b 0a 20 20 20 20 20 20 20 20 6d 61 78 2d 77 69 64 74 68 ...#contents.{.........max-width
8ba0 3a 20 36 30 65 6d 3b 0a 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 3b 0a 20 20 :.60em;.........margin:.auto;...
8bc0 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 ......padding:.0.1em;.......}...
8be0 20 20 20 20 23 6e 61 76 69 67 61 74 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e ....#navigation.{.........paddin
8c00 67 3a 20 30 20 31 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 g:.0.1em;.......}........@media.
8c20 73 63 72 65 65 6e 20 61 6e 64 20 28 6d 69 6e 2d 77 69 64 74 68 3a 20 31 30 32 35 70 78 29 20 7b screen.and.(min-width:.1025px).{
8c40 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 72 67 .........header.{...........marg
8c60 69 6e 2d 6c 65 66 74 3a 20 63 61 6c 63 28 76 61 72 28 2d 2d 6e 61 76 2d 77 69 64 74 68 29 20 2b in-left:.calc(var(--nav-width).+
8c80 20 76 61 72 28 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 29 29 3b 0a 20 20 20 20 20 20 20 20 7d .var(--nav-margin-l));.........}
8ca0 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 20 68 31 20 7b 0a 20 20 20 20 20 20 20 20 20 20 6d .........header.h1.{...........m
8cc0 61 72 67 69 6e 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 78 2d 77 69 64 74 68 argin:.auto;...........max-width
8ce0 3a 20 33 30 65 6d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 23 6e 61 76 69 67 :.30em;.........}.........#navig
8d00 61 74 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 61 75 74 6f ation.{...........overflow:.auto
8d20 3b 0a 20 20 20 20 20 20 20 20 20 20 77 69 64 74 68 3a 20 76 61 72 28 2d 2d 6e 61 76 2d 77 69 64 ;...........width:.var(--nav-wid
8d40 74 68 29 3b 0a 20 20 20 20 20 20 20 20 20 20 68 65 69 67 68 74 3a 20 31 30 30 76 68 3b 0a 20 20 th);...........height:.100vh;...
8d60 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 3a 20 66 69 78 65 64 3b 0a 20 20 20 20 20 20 20 ........position:.fixed;........
8d80 20 20 20 74 6f 70 3a 30 3b 0a 20 20 20 20 20 20 20 20 20 20 6c 65 66 74 3a 30 3b 0a 20 20 20 20 ...top:0;...........left:0;.....
8da0 20 20 20 20 20 20 62 6f 74 74 6f 6d 3a 30 3b 0a 20 20 20 20 20 20 20 20 20 20 70 61 64 64 69 6e ......bottom:0;...........paddin
8dc0 67 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a g:.unset;...........margin-left:
8de0 20 76 61 72 28 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a .var(--nav-margin-l);.........}.
8e00 20 20 20 20 20 20 20 20 23 6e 61 76 69 67 61 74 69 6f 6e 20 6e 61 76 20 75 6c 20 7b 0a 20 20 20 ........#navigation.nav.ul.{....
8e20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 31 65 6d 3b 0a 20 20 20 20 20 20 .......padding-left:.1em;.......
8e40 20 20 7d 0a 20 20 20 20 20 20 20 20 23 63 6f 6e 74 65 6e 74 73 2d 77 72 61 70 70 65 72 20 7b 0a ..}.........#contents-wrapper.{.
8e60 20 20 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a 20 63 61 6c 63 28 76 61 72 28 ..........margin-left:.calc(var(
8e80 2d 2d 6e 61 76 2d 77 69 64 74 68 29 20 2b 20 76 61 72 28 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d --nav-width).+.var(--nav-margin-
8ea0 6c 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 61 3a 68 6f 76 65 l));.........}.....}......a:hove
8ec0 72 2c 61 3a 66 6f 63 75 73 20 7b 0a 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 r,a:focus.{.......background:.#f
8ee0 66 66 32 61 38 3b 0a 20 20 20 20 7d 0a 20 20 20 20 64 74 20 7b 0a 20 20 20 20 20 20 66 6f 6e 74 ff2a8;.....}.....dt.{.......font
8f00 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 7d 0a 20 20 20 20 74 61 62 6c 65 2c 20 -weight:.bold;.....}.....table,.
8f20 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 2d 63 6f 6c 6c 61 70 73 65 3a 20 th,.td.{.......border-collapse:.
8f40 63 6f 6c 6c 61 70 73 65 3b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 collapse;.......border:.1px.soli
8f60 64 20 67 72 65 79 3b 0a 20 20 20 20 7d 0a 20 20 20 20 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 d.grey;.....}.....th,.td.{......
8f80 20 70 61 64 64 69 6e 67 3a 20 30 2e 31 65 6d 3b 0a 20 20 20 20 7d 0a 20 20 20 20 74 68 5b 73 63 .padding:.0.1em;.....}.....th[sc
8fa0 6f 70 65 3d 72 6f 77 5d 20 7b 0a 20 20 20 20 20 20 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20 6c ope=row].{.........text-align:.l
8fc0 65 66 74 3b 0a 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 eft;.........font-weight:.normal
8fe0 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 30 5f 31 2c 20 2e 74 33 37 2c 20 2e 74 33 37 5f 31 20 ;.....}......t0_1,..t37,..t37_1.
9000 7b 0a 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 7d {.......font-weight:.bold;.....}
9020 0a 20 20 20 20 2e 74 32 5f 30 20 7b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 35 37 35 37 35 ......t2_0.{.......color:.#57575
9040 37 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 33 31 5f 31 20 7b 0a 20 20 20 20 20 20 63 6f 6c 6f 7;.....}......t31_1.{.......colo
9060 72 3a 20 23 62 34 30 30 30 30 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 33 32 5f 31 20 7b 0a 20 r:.#b40000;.....}......t32_1.{..
9080 20 20 20 20 20 63 6f 6c 6f 72 3a 20 67 72 65 65 6e 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 33 .....color:.green;.....}......t3
90a0 36 5f 31 20 7b 0a 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 6_1.{.......color:.#005C7A;.....
90c0 7d 0a 20 20 20 20 2e 66 69 6c 65 20 7b 0a 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a }......file.{.......font-weight:
90e0 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 .bold;.......border:.unset;.....
9100 7d 0a 20 20 20 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 }.....code.{.......background:.#
9120 66 38 66 38 66 38 3b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 64 6f 74 74 65 64 f8f8f8;.......border:.1px.dotted
9140 20 73 69 6c 76 65 72 3b 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 30 2e 33 .silver;.......padding-left:.0.3
9160 65 6d 3b 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 72 69 67 68 74 3a 20 30 2e 33 65 6d 3b 0a em;.......padding-right:.0.3em;.
9180 20 20 20 20 7d 0a 20 20 20 20 70 72 65 20 3e 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 64 69 73 ....}.....pre.>.code.{.......dis
91a0 70 6c 61 79 3a 20 62 6c 6f 63 6b 3b 0a 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 61 75 74 play:.block;.......overflow:.aut
91c0 6f 3b 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 62 o;.......padding:.0.5em;.......b
91e0 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 23 65 65 65 3b 0a 20 20 20 20 20 20 6c 69 6e order:.1px.solid.#eee;.......lin
9200 65 2d 68 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 7d 0a 20 20 20 20 73 61 6d 70 e-height:.normal;.....}.....samp
9220 20 7b 0a 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 3b 0a 20 20 .{.......background:.#fafafa;...
9240 20 20 7d 0a 20 20 20 20 70 72 65 20 3e 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 64 69 73 70 6c ..}.....pre.>.samp.{.......displ
9260 61 79 3a 20 62 6c 6f 63 6b 3b 0a 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 61 75 74 6f 3b ay:.block;.......overflow:.auto;
9280 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 62 6f 72 .......padding:.0.5em;.......bor
92a0 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 23 65 65 65 3b 0a 20 20 20 20 20 20 6c 69 6e 65 2d der:.1px.solid.#eee;.......line-
92c0 68 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 7d 0a 20 20 20 20 6b 62 64 20 7b 0a height:.normal;.....}.....kbd.{.
92e0 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 7d 0a 20 ......font-weight:.bold;.....}..
9300 20 20 20 2e 74 61 62 6c 65 2d 77 72 61 70 70 65 72 20 7b 0a 20 20 20 20 20 20 77 69 64 74 68 3a ....table-wrapper.{.......width:
9320 20 31 30 30 25 3b 0a 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 2d 78 3a 20 61 75 74 6f 3b 0a 20 .100%;.......overflow-x:.auto;..
9340 20 20 20 7d 0a 0a 20 20 20 20 2e 74 6f 6b 2d 6b 77 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f ...}.......tok-kw.{.........colo
9360 72 3a 20 23 33 33 33 3b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f r:.#333;.........font-weight:.bo
9380 6c 64 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 73 74 72 20 7b 0a 20 20 20 20 20 20 20 ld;.....}......tok-str.{........
93a0 20 63 6f 6c 6f 72 3a 20 23 64 31 34 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 62 75 69 .color:.#d14;.....}......tok-bui
93c0 6c 74 69 6e 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 35 43 37 41 3b 0a 20 ltin.{.........color:.#005C7A;..
93e0 20 20 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 20 7b 0a 20 20 20 20 20 20 20 20 ...}......tok-comment.{.........
9400 63 6f 6c 6f 72 3a 20 23 35 34 35 34 35 34 3b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 73 74 79 color:.#545454;.........font-sty
9420 6c 65 3a 20 69 74 61 6c 69 63 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 66 6e 20 7b 0a le:.italic;.....}......tok-fn.{.
9440 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 20 66 6f 6e ........color:.#900;.........fon
9460 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 6e t-weight:.bold;.....}......tok-n
9480 75 6c 6c 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 35 43 35 43 3b 0a 20 20 ull.{.........color:.#005C5C;...
94a0 20 20 7d 0a 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 63 6f ..}......tok-number.{.........co
94c0 6c 6f 72 3a 20 23 30 30 35 43 35 43 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 74 79 70 lor:.#005C5C;.....}......tok-typ
94e0 65 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 34 35 38 3b 0a 20 20 20 20 20 20 20 e.{.........color:.#458;........
9500 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 .font-weight:.bold;.....}......f
9520 69 67 75 72 65 20 7b 0a 20 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 20 30 3b 0a 20 20 igure.{.......margin:.auto.0;...
9540 20 20 7d 0a 20 20 20 20 66 69 67 75 72 65 20 70 72 65 20 7b 0a 20 20 20 20 20 20 6d 61 72 67 69 ..}.....figure.pre.{.......margi
9560 6e 2d 74 6f 70 3a 20 30 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 20 n-top:.0;.....}......figcaption.
9580 7b 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 {.......padding-left:.0.5em;....
95a0 20 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 73 6d 61 6c 6c 3b 0a 20 20 20 20 20 20 62 6f 72 64 65 ...font-size:.small;.......borde
95c0 72 2d 74 6f 70 2d 6c 65 66 74 2d 72 61 64 69 75 73 3a 20 35 70 78 3b 0a 20 20 20 20 20 20 62 6f r-top-left-radius:.5px;.......bo
95e0 72 64 65 72 2d 74 6f 70 2d 72 69 67 68 74 2d 72 61 64 69 75 73 3a 20 35 70 78 3b 0a 20 20 20 20 rder-top-right-radius:.5px;.....
9600 7d 0a 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 20 }.....figcaption.zig-cap.{......
9620 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 63 64 62 61 35 3b 0a 20 20 20 20 7d 0a 20 20 20 20 .background:.#fcdba5;.....}.....
9640 66 69 67 63 61 70 74 69 6f 6e 2e 63 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 62 61 63 6b 67 72 6f figcaption.c-cap.{.......backgro
9660 75 6e 64 3a 20 23 61 38 62 39 63 63 3b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b und:.#a8b9cc;.......color:.#000;
9680 0a 20 20 20 20 7d 0a 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 70 65 67 2d 63 61 70 20 7b 0a .....}.....figcaption.peg-cap.{.
96a0 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 0a 20 20 20 20 7d ......background:.#fcdba5;.....}
96c0 0a 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 6a 61 76 61 73 63 72 69 70 74 2d 63 61 70 20 7b .....figcaption.javascript-cap.{
96e0 0a 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 33 36 35 64 39 35 3b 0a 20 20 20 20 .......background:.#365d95;.....
9700 20 20 63 6f 6c 6f 72 3a 20 23 66 66 66 3b 0a 20 20 20 20 7d 0a 20 20 20 20 66 69 67 63 61 70 74 ..color:.#fff;.....}.....figcapt
9720 69 6f 6e 2e 73 68 65 6c 6c 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 ion.shell-cap.{.......background
9740 3a 20 23 63 63 63 3b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 7d :.#ccc;.......color:.#000;.....}
9760 0a 0a 20 20 20 20 61 73 69 64 65 20 7b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 2d 6c 65 66 74 3a ......aside.{.......border-left:
9780 20 30 2e 32 35 65 6d 20 73 6f 6c 69 64 20 23 66 37 61 34 31 64 3b 0a 20 20 20 20 20 20 70 61 64 .0.25em.solid.#f7a41d;.......pad
97a0 64 69 6e 67 3a 20 30 20 31 65 6d 20 30 20 31 65 6d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 68 31 ding:.0.1em.0.1em;.....}......h1
97c0 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 20 20 .a,.h2.a,.h3.a,.h4.a,.h5.a.{....
97e0 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 20 20 20 20 ...text-decoration:.none;.......
9800 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 61 2e 68 64 72 20 7b 0a color:.#333;.....}......a.hdr.{.
9820 20 20 20 20 20 20 76 69 73 69 62 69 6c 69 74 79 3a 20 68 69 64 64 65 6e 3b 0a 20 20 20 20 7d 0a ......visibility:.hidden;.....}.
9840 20 20 20 20 68 31 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 32 3a 68 6f 76 65 72 20 3e ....h1:hover.>.a.hdr,.h2:hover.>
9860 20 61 2e 68 64 72 2c 20 68 33 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 34 3a 68 6f 76 .a.hdr,.h3:hover.>.a.hdr,.h4:hov
9880 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 35 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 20 7b 0a 20 er.>.a.hdr,.h5:hover.>.a.hdr.{..
98a0 20 20 20 20 20 76 69 73 69 62 69 6c 69 74 79 3a 20 76 69 73 69 62 6c 65 3b 0a 20 20 20 20 7d 0a .....visibility:.visible;.....}.
98c0 0a 20 20 20 20 70 72 65 20 7b 0a 20 20 20 20 20 20 63 6f 75 6e 74 65 72 2d 72 65 73 65 74 3a 20 .....pre.{.......counter-reset:.
98e0 6c 69 6e 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 70 72 65 20 2e 6c 69 6e 65 3a 62 65 66 6f 72 65 line;.....}.....pre..line:before
9900 20 7b 0a 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 .{.......counter-increment:.line
9920 3b 0a 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);.
9940 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 20 20 ......display:.inline-block;....
9960 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 20 77 69 64 ...padding-right:.1em;.......wid
9980 74 68 3a 20 32 65 6d 3b 0a 20 20 20 20 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20 72 69 67 68 74 th:.2em;.......text-align:.right
99a0 3b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 39 39 39 3b 0a 20 20 20 20 7d 0a 20 20 20 20 74 ;.......color:.#999;.....}.....t
99c0 68 20 70 72 65 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a h.pre.code.{.........background:
99e0 20 6e 6f 6e 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 74 68 20 2e 6c 69 6e 65 3a 62 65 66 6f 72 65 .none;.....}.....th..line:before
9a00 20 7b 0a 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 6e 6f 6e 65 3b 0a 20 20 20 20 7d 0a .{.........display:.none;.....}.
9a20 0a 20 20 20 20 40 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 .....@media.(prefers-color-schem
9a40 65 3a 20 64 61 72 6b 29 20 7b 0a 20 20 20 20 20 20 62 6f 64 79 7b 0a 20 20 20 20 20 20 20 20 20 e:.dark).{.......body{..........
9a60 20 62 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 63 .background:#121212;...........c
9a80 6f 6c 6f 72 3a 20 23 63 63 63 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 61 20 7b 0a 20 20 olor:.#ccc;.......}.......a.{...
9aa0 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 20 7d 0a 20 20 20 ........color:.#88f;.......}....
9ac0 20 20 20 61 3a 68 6f 76 65 72 2c 61 3a 66 6f 63 75 73 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 ...a:hover,a:focus.{...........c
9ae0 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 61 62 6c 65 2c olor:.#000;.......}.......table,
9b00 20 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 63 6f 6c 6f 72 .th,.td.{...........border-color
9b20 3a 20 67 72 65 79 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 32 5f 30 20 7b 0a 20 20 :.grey;.......}........t2_0.{...
9b40 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 67 72 65 79 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 ........color:.grey;.......}....
9b60 20 20 20 2e 74 33 31 5f 31 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 72 65 64 ....t31_1.{...........color:.red
9b80 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 33 32 5f 31 20 7b 0a 20 20 20 20 20 20 20 ;.......}........t32_1.{........
9ba0 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 42 38 30 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 ...color:.#00B800;.......}......
9bc0 20 2e 74 33 36 5f 31 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 38 36 ..t36_1.{...........color:.#0086
9be0 62 33 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 b3;.......}.......code.{........
9c00 20 62 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 62 6f 72 64 65 .background:.#222;.........borde
9c20 72 2d 63 6f 6c 6f 72 3a 20 23 34 34 34 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 70 72 65 r-color:.#444;.......}.......pre
9c40 20 3e 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 63 63 3b .>.code.{...........color:.#ccc;
9c60 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 32 32 32 3b 0a 20 20 20 ...........background:.#222;....
9c80 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 20 20 7d 0a 20 20 .......border:.unset;.......}...
9ca0 20 20 20 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 ....samp.{.........background:.#
9cc0 30 30 30 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 63 63 3b 0a 20 20 20 20 20 20 000;.........color:.#ccc;.......
9ce0 7d 0a 20 20 20 20 20 20 70 72 65 20 3e 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 20 20 62 6f 72 }.......pre.>.samp.{.........bor
9d00 64 65 72 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 6b der:.unset;.......}........tok-k
9d20 77 20 7b 0a 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 w.{...........color:.#eee;......
9d40 20 7d 0a 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 63 6f .}........tok-str.{...........co
9d60 6c 6f 72 3a 20 23 32 65 35 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 62 75 lor:.#2e5;.......}........tok-bu
9d80 69 6c 74 69 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 38 39 34 63 iltin.{...........color:.#ff894c
9da0 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 20 7b 0a 20 ;.......}........tok-comment.{..
9dc0 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 61 61 37 3b 0a 20 20 20 20 20 20 7d 0a 20 20 .........color:.#aa7;.......}...
9de0 20 20 20 20 2e 74 6f 6b 2d 66 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 .....tok-fn.{...........color:.#
9e00 42 31 41 30 46 38 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 6e 75 6c 6c 20 B1A0F8;.......}........tok-null.
9e20 7b 0a 20 20 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 {...........color:.#ff8080;.....
9e40 20 20 7d 0a 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.{.........
9e60 20 20 63 6f 6c 6f 72 3a 20 23 66 66 38 30 38 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ..color:.#ff8080;.......}.......
9e80 2e 74 6f 6b 2d 74 79 70 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 36 38 .tok-type.{...........color:.#68
9ea0 66 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 68 31 20 61 2c 20 68 32 20 61 2c 20 68 33 20 f;.......}.......h1.a,.h2.a,.h3.
9ec0 61 2c 20 68 34 20 61 2c 20 68 35 20 61 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a a,.h4.a,.h5.a.{...........color:
9ee0 20 23 61 61 61 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e .#aaa;.......}.......figcaption.
9f00 7a 69 67 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 2d 63 zig-cap.{...........background-c
9f20 6f 6c 6f 72 3a 20 23 62 32 37 33 30 36 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 olor:.#b27306;...........color:.
9f40 23 30 30 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 70 #000;.......}.......figcaption.p
9f60 65 67 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 2d 63 6f eg-cap.{...........background-co
9f80 6c 6f 72 3a 20 23 62 32 37 33 30 36 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 lor:.#b27306;...........color:.#
9fa0 30 30 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 73 68 000;.......}.......figcaption.sh
9fc0 65 6c 6c 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 32 ell-cap.{.........background:.#2
9fe0 61 32 61 32 61 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 20 a2a2a;.........color:.#fff;.....
a000 20 20 7d 0a 20 20 20 20 7d 0a 20 20 3c 2f 73 74 79 6c 65 3e 0a 3c 2f 68 65 61 64 3e 0a 3c 62 6f ..}.....}...</style>.</head>.<bo
a020 64 79 3e 0a 20 20 3c 68 65 61 64 65 72 3e 3c 68 31 3e 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 dy>...<header><h1>Zig.Language.R
a040 65 66 65 72 65 6e 63 65 3c 2f 68 31 3e 3c 2f 68 65 61 64 65 72 3e 0a 20 20 3c 64 69 76 20 69 64 eference</h1></header>...<div.id
a060 3d 22 6d 61 69 6e 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 64 ="main-wrapper">..............<d
a080 69 76 20 69 64 3d 22 63 6f 6e 74 65 6e 74 73 2d 77 72 61 70 70 65 72 22 3e 3c 6d 61 69 6e 20 69 iv.id="contents-wrapper"><main.i
a0a0 64 3d 22 63 6f 6e 74 65 6e 74 73 22 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6e 74 72 d="contents">.......<h2.id="Intr
a0c0 6f 64 75 63 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 72 6f 64 75 63 oduction"><a.href="#toc-Introduc
a0e0 74 69 6f 6e 22 3e 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d tion">Introduction</a>.<a.class=
a100 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e c2 a7 3c 2f 61 "hdr".href="#Introduction">..</a
a120 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d ></h2>........<p>.......<a.href=
a140 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 22 3e 5a 69 67 3c 2f 61 3e 20 69 73 "https://ziglang.org">Zig</a>.is
a160 20 61 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c .a.general-purpose.programming.l
a180 61 6e 67 75 61 67 65 20 61 6e 64 20 74 6f 6f 6c 63 68 61 69 6e 20 66 6f 72 20 6d 61 69 6e 74 61 anguage.and.toolchain.for.mainta
a1a0 69 6e 69 6e 67 0a 20 20 20 20 20 20 3c 73 74 72 6f 6e 67 3e 72 6f 62 75 73 74 3c 2f 73 74 72 6f ining.......<strong>robust</stro
a1c0 6e 67 3e 2c 20 3c 73 74 72 6f 6e 67 3e 6f 70 74 69 6d 61 6c 3c 2f 73 74 72 6f 6e 67 3e 2c 20 61 ng>,.<strong>optimal</strong>,.a
a1e0 6e 64 20 3c 73 74 72 6f 6e 67 3e 72 65 75 73 61 62 6c 65 3c 2f 73 74 72 6f 6e 67 3e 20 73 6f 66 nd.<strong>reusable</strong>.sof
a200 74 77 61 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 64 6c 3e 0a 20 20 20 tware........</p>.......<dl>....
a220 20 20 20 20 20 3c 64 74 3e 52 6f 62 75 73 74 3c 2f 64 74 3e 3c 64 64 3e 42 65 68 61 76 69 6f 72 .....<dt>Robust</dt><dd>Behavior
a240 20 69 73 20 63 6f 72 72 65 63 74 20 65 76 65 6e 20 66 6f 72 20 65 64 67 65 20 63 61 73 65 73 20 .is.correct.even.for.edge.cases.
a260 73 75 63 68 20 61 73 20 6f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 2e 3c 2f 64 64 3e 0a 20 20 20 20 such.as.out.of.memory.</dd>.....
a280 20 20 20 20 3c 64 74 3e 4f 70 74 69 6d 61 6c 3c 2f 64 74 3e 3c 64 64 3e 57 72 69 74 65 20 70 72 ....<dt>Optimal</dt><dd>Write.pr
a2a0 6f 67 72 61 6d 73 20 74 68 65 20 62 65 73 74 20 77 61 79 20 74 68 65 79 20 63 61 6e 20 62 65 68 ograms.the.best.way.they.can.beh
a2c0 61 76 65 20 61 6e 64 20 70 65 72 66 6f 72 6d 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 ave.and.perform.</dd>.........<d
a2e0 74 3e 52 65 75 73 61 62 6c 65 3c 2f 64 74 3e 3c 64 64 3e 54 68 65 20 73 61 6d 65 20 63 6f 64 65 t>Reusable</dt><dd>The.same.code
a300 20 77 6f 72 6b 73 20 69 6e 20 6d 61 6e 79 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 77 68 69 63 .works.in.many.environments.whic
a320 68 20 68 61 76 65 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 h.have.different...........const
a340 72 61 69 6e 74 73 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 4d 61 69 6e 74 61 69 raints.</dd>.........<dt>Maintai
a360 6e 61 62 6c 65 3c 2f 64 74 3e 3c 64 64 3e 50 72 65 63 69 73 65 6c 79 20 63 6f 6d 6d 75 6e 69 63 nable</dt><dd>Precisely.communic
a380 61 74 65 20 69 6e 74 65 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 0a 20 ate.intent.to.the.compiler.and..
a3a0 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 65 72 73 2e 20 54 68 65 20 .........other.programmers..The.
a3c0 6c 61 6e 67 75 61 67 65 20 69 6d 70 6f 73 65 73 20 61 20 6c 6f 77 20 6f 76 65 72 68 65 61 64 20 language.imposes.a.low.overhead.
a3e0 74 6f 20 72 65 61 64 69 6e 67 20 63 6f 64 65 20 61 6e 64 20 69 73 0a 20 20 20 20 20 20 20 20 20 to.reading.code.and.is..........
a400 20 72 65 73 69 6c 69 65 6e 74 20 74 6f 20 63 68 61 6e 67 69 6e 67 20 72 65 71 75 69 72 65 6d 65 .resilient.to.changing.requireme
a420 6e 74 73 20 61 6e 64 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 nts.and.environments.</dd>......
a440 20 3c 2f 64 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 66 74 65 6e 20 74 68 65 .</dl>.......<p>.......Often.the
a460 20 6d 6f 73 74 20 65 66 66 69 63 69 65 6e 74 20 77 61 79 20 74 6f 20 6c 65 61 72 6e 20 73 6f 6d .most.efficient.way.to.learn.som
a480 65 74 68 69 6e 67 20 6e 65 77 20 69 73 20 74 6f 20 73 65 65 20 65 78 61 6d 70 6c 65 73 2c 20 73 ething.new.is.to.see.examples,.s
a4a0 6f 0a 20 20 20 20 20 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 73 68 6f 77 73 o.......this.documentation.shows
a4c0 20 68 6f 77 20 74 6f 20 75 73 65 20 65 61 63 68 20 6f 66 20 5a 69 67 27 73 20 66 65 61 74 75 72 .how.to.use.each.of.Zig's.featur
a4e0 65 73 2e 20 49 74 20 69 73 0a 20 20 20 20 20 20 61 6c 6c 20 6f 6e 20 6f 6e 65 20 70 61 67 65 20 es..It.is.......all.on.one.page.
a500 73 6f 20 79 6f 75 20 63 61 6e 20 73 65 61 72 63 68 20 77 69 74 68 20 79 6f 75 72 20 62 72 6f 77 so.you.can.search.with.your.brow
a520 73 65 72 27 73 20 73 65 61 72 63 68 20 74 6f 6f 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ser's.search.tool........</p>...
a540 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 73 20 69 ....<p>.......The.code.samples.i
a560 6e 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 61 6e 64 n.this.document.are.compiled.and
a580 20 74 65 73 74 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 6d 61 69 6e 20 74 65 73 74 .tested.as.part.of.the.main.test
a5a0 20 73 75 69 74 65 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 .suite.of.Zig........</p>.......
a5c0 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 48 54 4d 4c 20 64 6f 63 75 6d 65 6e 74 20 64 65 70 <p>.......This.HTML.document.dep
a5e0 65 6e 64 73 20 6f 6e 20 6e 6f 20 65 78 74 65 72 6e 61 6c 20 66 69 6c 65 73 2c 20 73 6f 20 79 6f ends.on.no.external.files,.so.yo
a600 75 20 63 61 6e 20 75 73 65 20 69 74 20 6f 66 66 6c 69 6e 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e u.can.use.it.offline........</p>
a620 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 69 67 2d 53 74 61 6e 64 ...............<h2.id="Zig-Stand
a640 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 69 67 2d 53 ard-Library"><a.href="#toc-Zig-S
a660 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 tandard-Library">Zig.Standard.Li
a680 62 72 61 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 brary</a>.<a.class="hdr".href="#
a6a0 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 Zig-Standard-Library">..</a></h2
a6c0 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 61 20 68 72 65 66 >........<p>.........The.<a.href
a6e0 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 63 75 6d 65 6e 74 61 74 ="https://ziglang.org/documentat
a700 69 6f 6e 2f 30 2e 39 2e 31 2f 73 74 64 2f 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 ion/0.9.1/std/">Zig.Standard.Lib
a720 72 61 72 79 3c 2f 61 3e 20 68 61 73 20 69 74 73 20 6f 77 6e 20 64 6f 63 75 6d 65 6e 74 61 74 69 rary</a>.has.its.own.documentati
a740 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 on........</p>.......<p>........
a760 20 5a 69 67 27 73 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 63 6f 6e 74 61 69 6e 73 .Zig's.Standard.Library.contains
a780 20 63 6f 6d 6d 6f 6e 6c 79 20 75 73 65 64 20 61 6c 67 6f 72 69 74 68 6d 73 2c 20 64 61 74 61 20 .commonly.used.algorithms,.data.
a7a0 73 74 72 75 63 74 75 72 65 73 2c 20 61 6e 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 74 6f 20 68 structures,.and.definitions.to.h
a7c0 65 6c 70 20 79 6f 75 20 62 75 69 6c 64 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 6c 69 62 72 61 72 elp.you.build.programs.or.librar
a7e0 69 65 73 2e 0a 20 20 20 20 20 20 20 20 59 6f 75 20 77 69 6c 6c 20 73 65 65 20 6d 61 6e 79 20 65 ies..........You.will.see.many.e
a800 78 61 6d 70 6c 65 73 20 6f 66 20 5a 69 67 27 73 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 xamples.of.Zig's.Standard.Librar
a820 79 20 75 73 65 64 20 69 6e 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 20 54 6f y.used.in.this.documentation..To
a840 20 6c 65 61 72 6e 20 6d 6f 72 65 20 61 62 6f 75 74 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 .learn.more.about.the.Zig.Standa
a860 72 64 20 4c 69 62 72 61 72 79 2c 0a 20 20 20 20 20 20 20 20 76 69 73 69 74 20 74 68 65 20 6c 69 rd.Library,.........visit.the.li
a880 6e 6b 20 61 62 6f 76 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 nk.above........</p>............
a8a0 20 20 20 3c 68 32 20 69 64 3d 22 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e 3c 61 20 68 72 65 66 3d ...<h2.id="Hello-World"><a.href=
a8c0 22 23 74 6f 63 2d 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e 48 65 6c 6c 6f 20 57 6f 72 6c 64 3c 2f "#toc-Hello-World">Hello.World</
a8e0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 48 65 6c 6c 6f 2d 57 a>.<a.class="hdr".href="#Hello-W
a900 6f 72 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 orld">..</a></h2>.........<figur
a920 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
a940 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 63 69 74 65 ite.class="file">hello.zig</cite
a960 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
a980 6c 61 73 73 3d 22 6c 69 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"
a9a0 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=
a9c0 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
a9e0 61 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
aa00 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="
aa20 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"
aa40 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>
aa60 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>.
aa80 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>
aaa0 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<
aac0 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
aae0 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
ab00 74 3c 2f 73 70 61 6e 3e 20 73 74 64 6f 75 74 20 3d 20 73 74 64 2e 69 6f 2e 67 65 74 53 74 64 4f t</span>.stdout.=.std.io.getStdO
ab20 75 74 28 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 ut().writer();</span>.<span.clas
ab40 73 3d 22 6c 69 6e 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
ab60 22 3e 74 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 ">try</span>.stdout.print(<span.
ab80 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 7b 73 7d class="tok-str">&quot;Hello,.{s}
aba0 21 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 61 73 73 3d !\n&quot;</span>,..{<span.class=
abc0 22 74 6f 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 "tok-str">&quot;world&quot;</spa
abe0 6e 3e 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 n>});</span>.<span.class="line">
ac00 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
ac20 69 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
ac40 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
ac60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 ><span.class="line">$.<kbd>zig.b
ac80 75 69 6c 64 2d 65 78 65 20 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a uild-exe.hello.zig</kbd></span>.
aca0 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
acc0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 68 65 6c 6c 6f 3c 2f 6b 62 .class="line">$.<kbd>./hello</kb
ace0 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 48 65 6c d></span>.<span.class="line">Hel
ad00 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c lo,.world!</span>.</samp></pre><
ad20 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 5a /figure>.......<p>.........The.Z
ad40 69 67 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 61 62 6f 76 65 20 64 65 6d 6f 6e 73 74 72 61 74 65 ig.code.sample.above.demonstrate
ad60 73 20 6f 6e 65 20 77 61 79 20 74 6f 20 63 72 65 61 74 65 20 61 20 70 72 6f 67 72 61 6d 20 74 68 s.one.way.to.create.a.program.th
ad80 61 74 20 77 69 6c 6c 20 6f 75 74 70 75 74 3a 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 77 6f 72 at.will.output:.<samp>Hello,.wor
ada0 6c 64 21 3c 2f 73 61 6d 70 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e ld!</samp>........</p>.......<p>
adc0 0a 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 73 68 6f 77 73 20 74 .........The.code.sample.shows.t
ade0 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 61 20 66 69 6c 65 20 6e 61 6d 65 64 20 3c 63 6f 64 he.contents.of.a.file.named.<cod
ae00 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 63 6f 64 65 3e 2e e.class="file">hello.zig</code>.
ae20 20 46 69 6c 65 73 20 73 74 6f 72 69 6e 67 20 5a 69 67 0a 20 20 20 20 20 20 20 20 73 6f 75 72 63 .Files.storing.Zig.........sourc
ae40 65 20 63 6f 64 65 20 61 72 65 20 3c 61 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f e.code.are.<a.href="#Source-Enco
ae60 64 69 6e 67 22 3e 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 3c 2f 61 3e 20 74 65 78 74 20 66 69 6c ding">UTF-8.encoded</a>.text.fil
ae80 65 73 2e 20 54 68 65 20 66 69 6c 65 73 20 73 74 6f 72 69 6e 67 0a 20 20 20 20 20 20 20 20 5a 69 es..The.files.storing.........Zi
aea0 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 72 65 20 75 73 75 61 6c 6c 79 20 6e 61 6d 65 64 20 g.source.code.are.usually.named.
aec0 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 3c 65 6d 3e with.the.<code.class="file"><em>
aee0 2e 7a 69 67 3c 2f 65 6d 3e 3c 2f 63 6f 64 65 3e 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 .zig</em></code>.extension......
af00 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 6f 6c 6c 6f 77 69 ..</p>.......<p>.........Followi
af20 6e 67 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e ng.the.<code.class="file">hello.
af40 7a 69 67 3c 2f 63 6f 64 65 3e 20 5a 69 67 20 63 6f 64 65 20 73 61 6d 70 6c 65 2c 20 74 68 65 20 zig</code>.Zig.code.sample,.the.
af60 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 <a.href="#Zig-Build-System">Zig.
af80 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 20 69 73 20 75 73 65 64 0a 20 20 20 20 20 20 20 Build.System</a>.is.used........
afa0 20 74 6f 20 62 75 69 6c 64 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 70 72 6f 67 72 61 6d 20 .to.build.an.executable.program.
afc0 66 72 6f 6d 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c from.the.<code.class="file">hell
afe0 6f 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 54 68 65 6e 2c 20 o.zig</code>.source.code..Then,.
b000 74 68 65 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 68 the.........<code.class="file">h
b020 65 6c 6c 6f 3c 2f 63 6f 64 65 3e 20 70 72 6f 67 72 61 6d 20 69 73 20 65 78 65 63 75 74 65 64 20 ello</code>.program.is.executed.
b040 73 68 6f 77 69 6e 67 20 69 74 73 20 6f 75 74 70 75 74 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 showing.its.output.<samp>Hello,.
b060 77 6f 72 6c 64 21 3c 2f 73 61 6d 70 3e 2e 20 54 68 65 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 73 world!</samp>..The.........lines
b080 20 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 3c 73 61 6d 70 3e 24 3c 2f 73 61 6d 70 3e 20 72 .beginning.with.<samp>$</samp>.r
b0a0 65 70 72 65 73 65 6e 74 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 72 6f 6d 70 74 73 20 61 6e epresent.command.line.prompts.an
b0c0 64 20 61 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 20 20 20 45 76 65 72 79 74 68 69 6e 67 20 d.a.command..........Everything.
b0e0 65 6c 73 65 20 69 73 20 70 72 6f 67 72 61 6d 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 3c 2f else.is.program.output........</
b100 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 6f 64 65 20 73 61 p>.......<p>.........The.code.sa
b120 6d 70 6c 65 20 62 65 67 69 6e 73 20 62 79 20 61 64 64 69 6e 67 20 74 68 65 20 3c 61 20 68 72 65 mple.begins.by.adding.the.<a.hre
b140 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 f="#Zig-Standard-Library">Zig.St
b160 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 20 74 6f 20 74 68 65 20 62 75 69 6c 64 20 andard.Library</a>.to.the.build.
b180 75 73 69 6e 67 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 using.the.<a.href="#import">@imp
b1a0 6f 72 74 3c 2f 61 3e 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 ort</a>.builtin.function........
b1c0 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 3c ..The.<code><span.class="line"><
b1e0 73 70 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
b200 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
b220 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f uot;std&quot;</span>)</span></co
b240 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 63 72 65 61 74 65 73 20 61 20 73 74 72 75 de>.function.call.creates.a.stru
b260 63 74 75 72 65 20 74 68 61 74 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 5a 69 67 20 53 74 cture.that.represents.the.Zig.St
b280 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 2e 0a 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 andard.Library..........The.code
b2a0 20 74 68 65 6e 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 .then.<a.href="#Container-Level-
b2c0 56 61 72 69 61 62 6c 65 73 22 3e 64 65 63 6c 61 72 65 73 3c 2f 61 3e 20 61 0a 20 20 20 20 20 20 Variables">declares</a>.a.......
b2e0 20 20 3c 61 20 68 72 65 66 3d 22 23 41 73 73 69 67 6e 6d 65 6e 74 22 3e 63 6f 6e 73 74 61 6e 74 ..<a.href="#Assignment">constant
b300 20 69 64 65 6e 74 69 66 69 65 72 3c 2f 61 3e 2c 20 6e 61 6d 65 64 20 3c 63 6f 64 65 3e 3c 73 70 .identifier</a>,.named.<code><sp
b320 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 an.class="line">std</span></code
b340 3e 2c 20 74 68 61 74 20 67 69 76 65 73 20 61 63 63 65 73 73 20 74 68 65 20 66 65 61 74 75 72 65 >,.that.gives.access.the.feature
b360 73 20 6f 66 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 20 s.of.the.Zig.Standard.Library...
b380 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 4e 65 78 74 .....</p>.......<p>.........Next
b3a0 2c 20 61 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 70 75 62 6c 69 63 20 ,.a.<a.href="#Functions">public.
b3c0 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d function</a>,.<code><span.class=
b3e0 22 6c 69 6e 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<
b400 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</
b420 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6e 61 6d 65 64 20 3c 63 6f 64 65 span></span></code>,.named.<code
b440 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c ><span.class="line">main</span><
b460 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 69 73 20 64 65 63 6c 61 72 65 64 2e 20 54 68 65 20 /code>.........is.declared..The.
b480 3c 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 69 6e 3c 2f 73 <code><span.class="line">main</s
b4a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 65 63 65 73 73 61 72 pan></code>.function.is.necessar
b4c0 79 20 62 65 63 61 75 73 65 20 69 74 20 74 65 6c 6c 73 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 y.because.it.tells.the.Zig.compi
b4e0 6c 65 72 20 77 68 65 72 65 20 74 68 65 20 73 74 61 72 74 20 6f 66 0a 20 20 20 20 20 20 20 20 74 ler.where.the.start.of.........t
b500 68 65 20 70 72 6f 67 72 61 6d 20 65 78 69 73 74 73 2e 20 50 72 6f 67 72 61 6d 73 20 64 65 73 69 he.program.exists..Programs.desi
b520 67 6e 65 64 20 74 6f 20 62 65 20 65 78 65 63 75 74 65 64 20 77 69 6c 6c 20 6e 65 65 64 20 61 20 gned.to.be.executed.will.need.a.
b540 3c 63 6f 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
b560 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
b580 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
b5a0 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 3e 3c ass="tok-fn">main</span></span><
b5c0 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 /code>.function........</p>.....
b5e0 20 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 ..<aside.role="note".aria-label=
b600 22 4e 6f 74 65 20 61 62 6f 75 74 20 6d 61 69 6e 20 66 75 6e 63 74 69 6f 6e 22 3e 0a 20 20 20 20 "Note.about.main.function">.....
b620 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 6d 6f 72 65 20 61 64 76 61 6e ....<p>...........For.more.advan
b640 63 65 64 20 75 73 65 20 63 61 73 65 73 2c 20 5a 69 67 20 6f 66 66 65 72 73 20 6f 74 68 65 72 20 ced.use.cases,.Zig.offers.other.
b660 66 65 61 74 75 72 65 73 20 74 6f 20 69 6e 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 features.to.inform.the.compiler.
b680 77 68 65 72 65 20 74 68 65 20 73 74 61 72 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 where.the.start.of...........the
b6a0 20 70 72 6f 67 72 61 6d 20 65 78 69 73 74 73 2e 20 41 6c 73 6f 2c 20 6c 69 62 72 61 72 69 65 73 .program.exists..Also,.libraries
b6c0 20 64 6f 20 6e 6f 74 20 6e 65 65 64 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .do.not.need.a.<code><span.class
b6e0 3d 22 6c 69 6e 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
b700 3c 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<
b720 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
b740 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 6f 6e 20 62 </span></span></code>.function.b
b760 65 63 61 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 6c 69 62 72 61 72 79 20 63 6f 64 65 20 69 73 ecause...........library.code.is
b780 20 63 61 6c 6c 65 64 20 62 79 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 6c 69 62 .called.by.other.programs.or.lib
b7a0 72 61 72 69 65 73 2e 0a 20 20 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 2f 61 73 69 raries..........</p>.......</asi
b7c0 64 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 41 20 66 75 6e 63 74 69 6f 6e de>.......<p>.........A.function
b7e0 20 69 73 20 61 20 62 6c 6f 63 6b 20 6f 66 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 73 74 61 .is.a.block.of.any.number.of.sta
b800 74 65 6d 65 6e 74 73 20 61 6e 64 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 68 61 74 2c 20 61 73 tements.and.expressions.that,.as
b820 20 61 20 77 68 6f 6c 65 2c 20 70 65 72 66 6f 72 6d 20 61 20 74 61 73 6b 2e 0a 20 20 20 20 20 20 .a.whole,.perform.a.task........
b840 20 20 46 75 6e 63 74 69 6f 6e 73 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 72 65 74 75 72 ..Functions.may.or.may.not.retur
b860 6e 20 64 61 74 61 20 61 66 74 65 72 20 74 68 65 79 20 61 72 65 20 64 6f 6e 65 20 70 65 72 66 6f n.data.after.they.are.done.perfo
b880 72 6d 69 6e 67 20 74 68 65 69 72 20 74 61 73 6b 2e 20 49 66 20 61 20 66 75 6e 63 74 69 6f 6e 0a rming.their.task..If.a.function.
b8a0 20 20 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 70 65 72 66 6f 72 6d 20 69 74 73 20 74 61 73 6b 2c ........cannot.perform.its.task,
b8c0 20 69 74 20 6d 69 67 68 74 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 2e 20 5a 69 67 20 6d .it.might.return.an.error..Zig.m
b8e0 61 6b 65 73 20 61 6c 6c 20 6f 66 20 74 68 69 73 20 65 78 70 6c 69 63 69 74 2e 0a 20 20 20 20 20 akes.all.of.this.explicit.......
b900 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 74 68 65 20 3c .</p>.......<p>.........In.the.<
b920 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 63 6f 64 code.class="file">hello.zig</cod
b940 65 3e 20 63 6f 64 65 20 73 61 6d 70 6c 65 2c 20 74 68 65 20 3c 63 6f 64 65 3e 6d 61 69 6e 3c 2f e>.code.sample,.the.<code>main</
b960 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 0a 20 20 20 20 20 code>.function.is.declared......
b980 20 20 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 73 73 3d 22 6c ...with.the.<code><span.class="l
b9a0 69 6e 65 22 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 ine">!<span.class="tok-type">voi
b9c0 64 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 20 74 79 d</span></span></code>.return.ty
b9e0 70 65 2e 20 54 68 69 73 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 6b 6e 6f 77 6e 20 61 73 pe..This.return.type.is.known.as
ba00 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e .an.<a.href="#Error-Union-Type">
ba20 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 54 68 Error.Union.Type</a>..........Th
ba40 69 73 20 73 79 6e 74 61 78 20 74 65 6c 6c 73 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 72 is.syntax.tells.the.Zig.compiler
ba60 20 74 68 61 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 65 69 74 68 65 72 20 72 .that.the.function.will.either.r
ba80 65 74 75 72 6e 20 61 6e 0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 6f 72 20 61 20 76 61 6c 75 eturn.an.........error.or.a.valu
baa0 65 2e 20 41 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 20 63 6f 6d 62 69 6e 65 73 20 e..An.error.union.type.combines.
bac0 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 an.<a.href="#Error-Set-Type">Err
bae0 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 20 61 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 64 61 or.Set.Type</a>.and.any.other.da
bb00 74 61 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 28 65 2e 67 2e 20 61 20 3c 61 20 68 72 65 66 3d ta.type.........(e.g..a.<a.href=
bb20 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 65 20 54 79 70 "#Primitive-Types">Primitive.Typ
bb40 65 3c 2f 61 3e 20 6f 72 20 61 20 75 73 65 72 2d 64 65 66 69 6e 65 64 20 74 79 70 65 20 73 75 63 e</a>.or.a.user-defined.type.suc
bb60 68 20 61 73 20 61 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 h.as.a.<a.href="#struct">struct<
bb80 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 3c 2f 61 3e 2c 20 6f /a>,.<a.href="#enum">enum</a>,.o
bba0 72 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 29 2e 0a 20 r.<a.href="#union">union</a>)...
bbc0 20 20 20 20 20 20 20 54 68 65 20 66 75 6c 6c 20 66 6f 72 6d 20 6f 66 20 61 6e 20 65 72 72 6f 72 .......The.full.form.of.an.error
bbe0 20 75 6e 69 6f 6e 20 74 79 70 65 20 69 73 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 26 6c 74 .union.type.is.........<code>&lt
bc00 3b 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 26 67 74 3b 3c 2f 63 6f 64 65 3e 3c 63 6f 64 65 3e ;error.set.type&gt;</code><code>
bc20 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
bc40 65 3e 3c 63 6f 64 65 3e 26 6c 74 3b 61 6e 79 20 64 61 74 61 20 74 79 70 65 26 67 74 3b 3c 2f 63 e><code>&lt;any.data.type&gt;</c
bc60 6f 64 65 3e 2e 20 49 6e 20 74 68 65 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 73 61 6d 70 6c 65 ode>..In.the.code.........sample
bc80 2c 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 69 73 20 6e 6f 74 20 65 78 70 6c ,.the.error.set.type.is.not.expl
bca0 69 63 69 74 6c 79 20 77 72 69 74 74 65 6e 20 6f 6e 20 74 68 65 20 6c 65 66 74 20 73 69 64 65 20 icitly.written.on.the.left.side.
bcc0 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 6c 69 6e 65 22 3e of.the.<code><span.class="line">
bce0 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 2e 0a 20 20 20 20 20 20 !</span></code>.operator........
bd00 20 20 57 68 65 6e 20 77 72 69 74 74 65 6e 20 74 68 69 73 20 77 61 79 2c 20 74 68 65 20 65 72 72 ..When.written.this.way,.the.err
bd20 6f 72 20 73 65 74 20 74 79 70 65 20 69 73 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 66 65 or.set.type.is.an.<a.href="#Infe
bd40 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 rred-Error-Sets">inferred.error.
bd60 73 65 74 20 74 79 70 65 3c 2f 61 3e 2e 20 54 68 65 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e set.type</a>..The.........<code>
bd80 3c 73 70 61 6e 20 63 6c 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="
bda0 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
bdc0 64 65 3e 20 61 66 74 65 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d de>.after.the.<code><span.class=
bde0 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 0a "line">!</span></code>.operator.
be00 20 20 20 20 20 20 20 20 74 65 6c 6c 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 68 61 74 20 ........tells.the.compiler.that.
be20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 6e 6f 74 20 72 65 74 75 72 6e 20 61 20 76 the.function.will.not.return.a.v
be40 61 6c 75 65 20 75 6e 64 65 72 20 6e 6f 72 6d 61 6c 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 20 alue.under.normal.circumstances.
be60 28 69 2e 65 2e 20 77 68 65 6e 20 6e 6f 20 65 72 72 6f 72 73 20 6f 63 63 75 72 29 2e 0a 20 20 20 (i.e..when.no.errors.occur).....
be80 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 3d 22 6e 6f 74 65 22 ...</p>.......<aside.role="note"
bea0 20 61 72 69 61 2d 6c 61 62 65 6c 3d 22 4e 6f 74 65 20 74 6f 20 64 69 73 61 6d 62 69 67 75 61 74 .aria-label="Note.to.disambiguat
bec0 65 20 65 78 63 6c 61 6d 61 74 69 6f 6e 20 6d 61 72 6b 20 6f 70 65 72 61 74 6f 72 22 3e 0a 20 20 e.exclamation.mark.operator">...
bee0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 74 6f 20 65 78 70 65 ......<p>...........Note.to.expe
bf00 72 69 65 6e 63 65 64 20 70 72 6f 67 72 61 6d 6d 65 72 73 3a 20 5a 69 67 20 61 6c 73 6f 20 68 61 rienced.programmers:.Zig.also.ha
bf20 73 20 74 68 65 20 62 6f 6f 6c 65 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 s.the.boolean.<a.href="#Operator
bf40 73 22 3e 6f 70 65 72 61 74 6f 72 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 s">operator</a>.<code><span.clas
bf60 73 3d 22 6c 69 6e 65 22 3e 21 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 s="line">!a</span></code>.......
bf80 20 20 20 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 ....where.<code><span.class="lin
bfa0 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 76 61 6c 75 65 20 6f 66 e">a</span></code>.is.a.value.of
bfc0 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 22 3e 3c .type.<code><span.class="line"><
bfe0 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
c000 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 45 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 ></span></code>..Error.union.typ
c020 65 73 20 63 6f 6e 74 61 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 6f 66 es.contain.the...........name.of
c040 20 74 68 65 20 74 79 70 65 20 69 6e 20 74 68 65 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c .the.type.in.the.syntax:.<code><
c060 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 65 span.class="line">!</span></code
c080 3e 3c 63 6f 64 65 3e 26 6c 74 3b 61 6e 79 20 64 61 74 61 20 74 79 70 65 26 67 74 3b 3c 2f 63 6f ><code>&lt;any.data.type&gt;</co
c0a0 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 2f 61 73 69 64 65 3e de>..........</p>.......</aside>
c0c0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 61 20 66 75 6e .......<p>.........In.Zig,.a.fun
c0e0 63 74 69 6f 6e 27 73 20 62 6c 6f 63 6b 20 6f 66 20 73 74 61 74 65 6d 65 6e 74 73 20 61 6e 64 20 ction's.block.of.statements.and.
c100 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 73 75 72 72 6f 75 6e 64 65 64 20 62 79 20 61 6e expressions.are.surrounded.by.an
c120 20 6f 70 65 6e 20 63 75 72 6c 79 2d 62 72 61 63 65 20 3c 63 6f 64 65 3e 7b 3c 2f 63 6f 64 65 3e .open.curly-brace.<code>{</code>
c140 20 61 6e 64 0a 20 20 20 20 20 20 20 20 63 6c 6f 73 65 20 63 75 72 6c 79 2d 62 72 61 63 65 20 3c .and.........close.curly-brace.<
c160 63 6f 64 65 3e 7d 3c 2f 63 6f 64 65 3e 2e 20 49 6e 73 69 64 65 20 6f 66 20 74 68 65 20 3c 63 6f code>}</code>..Inside.of.the.<co
c180 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e de><span.class="line">main</span
c1a0 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 20 65 78 70 72 65 73 73 69 6f 6e ></code>.function.are.expression
c1c0 73 20 74 68 61 74 20 70 65 72 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 74 68 65 20 74 61 73 6b 20 s.that.perform.........the.task.
c1e0 6f 66 20 6f 75 74 70 75 74 74 69 6e 67 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 of.outputting.<samp>Hello,.world
c200 21 3c 2f 73 61 6d 70 3e 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 0a 20 20 20 !</samp>.to.standard.output.....
c220 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 46 69 72 73 74 2c ...</p>.......<p>.........First,
c240 20 61 20 63 6f 6e 73 74 61 6e 74 20 69 64 65 6e 74 69 66 69 65 72 2c 20 3c 63 6f 64 65 3e 3c 73 .a.constant.identifier,.<code><s
c260 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f pan.class="line">stdout</span></
c280 63 6f 64 65 3e 2c 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 72 65 70 72 65 73 65 code>,.is.initialized.to.represe
c2a0 6e 74 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 27 73 0a 20 20 20 20 20 20 20 20 77 72 69 nt.standard.output's.........wri
c2c0 74 65 72 2e 20 54 68 65 6e 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 74 72 69 65 73 20 74 6f 20 ter..Then,.the.program.tries.to.
c2e0 70 72 69 6e 74 20 74 68 65 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 print.the.<samp>Hello,.world!</s
c300 61 6d 70 3e 0a 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 74 6f 20 73 74 61 6e 64 61 72 64 amp>.........message.to.standard
c320 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 20 3c 70 3e 0a 20 20 .output........</p>.......<p>...
c340 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 73 20 73 6f 6d 65 74 69 6d 65 73 20 6e 65 65 64 20 69 ......Functions.sometimes.need.i
c360 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 6f 20 70 65 72 66 6f 72 6d 20 74 68 65 69 72 20 74 61 73 6b nformation.to.perform.their.task
c380 2e 20 49 6e 20 5a 69 67 2c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 70 61 73 73 65 64 0a ..In.Zig,.information.is.passed.
c3a0 20 20 20 20 20 20 20 20 74 6f 20 66 75 6e 63 74 69 6f 6e 73 20 62 65 74 77 65 65 6e 20 61 6e 20 ........to.functions.between.an.
c3c0 6f 70 65 6e 20 70 61 72 65 6e 74 68 65 73 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 open.parenthesis.<code><span.cla
c3e0 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 20 ss="line">(</span></code>.and.a.
c400 63 6c 6f 73 65 20 70 61 72 65 6e 74 68 65 73 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c close.parenthesis.<code><span.cl
c420 61 73 73 3d 22 6c 69 6e 65 22 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 6c 61 63 65 ass="line">)</span></code>.place
c440 64 20 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 6e d.after.........the.function's.n
c460 61 6d 65 2e 20 54 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 61 6c 73 6f 20 6b 6e ame..This.information.is.also.kn
c480 6f 77 6e 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2e 20 57 68 65 6e 20 74 68 65 72 65 20 61 72 65 own.as.arguments..When.there.are
c4a0 0a 20 20 20 20 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 .........multiple.arguments.pass
c4c0 65 64 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 79 20 61 72 65 20 73 65 70 61 72 ed.to.a.function,.they.are.separ
c4e0 61 74 65 64 20 62 79 20 63 6f 6d 6d 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ated.by.commas.<code><span.class
c500 3d 22 6c 69 6e 65 22 3e 2c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c ="line">,</span></code>........<
c520 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 74 77 6f 20 61 72 /p>.......<p>.........The.two.ar
c540 67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 guments.passed.to.the.<code><spa
c560 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 6f 75 74 2e 70 72 69 6e 74 28 29 3c 2f 73 n.class="line">stdout.print()</s
c580 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 pan></code>.function,.<code><spa
c5a0 6e 20 63 6c 61 73 73 3d 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-
c5c0 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 7b 73 7d 21 5c 6e 26 71 75 6f 74 3b 3c 2f str">&quot;Hello,.{s}!\n&quot;</
c5e0 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 61 6e 64 20 span></span></code>.........and.
c600 3c 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 7b 3c 73 70 61 6e <code><span.class="line">.{<span
c620 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 6f 72 6c 64 26 71 75 6f .class="tok-str">&quot;world&quo
c640 74 3b 3c 2f 73 70 61 6e 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 72 65 20 65 76 t;</span>}</span></code>,.are.ev
c660 61 6c 75 61 74 65 64 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 aluated.at.<a.href="#comptime">c
c680 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 61 3e 2e 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 ompile-time</a>..The.code.sample
c6a0 20 69 73 0a 20 20 20 20 20 20 20 20 70 75 72 70 6f 73 65 6c 79 20 77 72 69 74 74 65 6e 20 74 6f .is.........purposely.written.to
c6c0 20 73 68 6f 77 20 68 6f 77 20 74 6f 20 70 65 72 66 6f 72 6d 20 3c 61 20 68 72 65 66 3d 22 23 53 .show.how.to.perform.<a.href="#S
c6e0 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 2d tring-Literals-and-Unicode-Code-
c700 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 73 74 72 69 6e 67 3c 2f 61 3e 0a 20 20 20 20 20 Point-Literals">string</a>......
c720 20 20 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 69 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 ...substitution.in.the.<code><sp
c740 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 63 6f an.class="line">print</span></co
c760 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 65 20 63 75 72 6c 79 2d 62 72 61 63 65 73 20 69 de>.function..The.curly-braces.i
c780 6e 73 69 64 65 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 nside.of.the.first.argument.....
c7a0 20 20 20 20 61 72 65 20 73 75 62 73 74 69 74 75 74 65 64 20 77 69 74 68 20 74 68 65 20 63 6f 6d ....are.substituted.with.the.com
c7c0 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 69 6e 73 69 64 65 20 6f 66 20 pile-time.known.value.inside.of.
c7e0 74 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 28 6b 6e 6f the.second.argument.........(kno
c800 77 6e 20 61 73 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 wn.as.an.<a.href="#Anonymous-Str
c820 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 6c uct-Literals">anonymous.struct.l
c840 69 74 65 72 61 6c 3c 2f 61 3e 29 2e 20 54 68 65 20 3c 63 6f 64 65 3e 5c 6e 3c 2f 63 6f 64 65 3e iteral</a>)..The.<code>\n</code>
c860 0a 20 20 20 20 20 20 20 20 69 6e 73 69 64 65 20 6f 66 20 74 68 65 20 64 6f 75 62 6c 65 2d 71 75 .........inside.of.the.double-qu
c880 6f 74 65 73 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 otes.of.the.first.argument.is.th
c8a0 65 20 3c 61 20 68 72 65 66 3d 22 23 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 65 73 e.<a.href="#Escape-Sequences">es
c8c0 63 61 70 65 20 73 65 71 75 65 6e 63 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 cape.sequence</a>.for.the.......
c8e0 20 20 6e 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72 2e 20 54 68 65 20 3c 61 20 68 72 65 66 ..newline.character..The.<a.href
c900 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 65 76 61 6c 75 ="#try">try</a>.expression.evalu
c920 61 74 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ates.the.result.of.<code><span.c
c940 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 6f 75 74 2e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c lass="line">stdout.print</span><
c960 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 /code>..........If.the.result.is
c980 20 61 6e 20 65 72 72 6f 72 2c 20 74 68 65 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .an.error,.then.the.<code><span.
c9a0 63 6c 61 73 73 3d 22 6c 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
c9c0 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 78 70 72 65 ">try</span></span></code>.expre
c9e0 73 73 69 6f 6e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 3c ssion.will.return.from.........<
ca00 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 69 6e 3c 2f 73 70 code><span.class="line">main</sp
ca20 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 74 68 65 20 65 72 72 6f 72 2e 20 4f 74 68 65 72 an></code>.with.the.error..Other
ca40 77 69 73 65 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 2e wise,.the.program.will.continue.
ca60 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f 0a 20 20 20 20 .In.this.case,.there.are.no.....
ca80 20 20 20 20 6d 6f 72 65 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 72 20 65 78 70 72 65 73 73 69 6f ....more.statements.or.expressio
caa0 6e 73 20 6c 65 66 74 20 74 6f 20 65 78 65 63 75 74 65 20 69 6e 20 74 68 65 20 3c 63 6f 64 65 3e ns.left.to.execute.in.the.<code>
cac0 3c 73 70 61 6e 20 63 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 <span.class="line">main</span></
cae0 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 73 6f 20 74 68 65 20 70 72 6f 67 72 61 6d 20 65 code>.function,.so.the.program.e
cb00 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 20 20 20 20 xits........</p>.......<p>......
cb20 20 20 20 49 6e 20 5a 69 67 2c 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 77 ...In.Zig,.the.standard.output.w
cb40 72 69 74 65 72 27 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 riter's.<code><span.class="line"
cb60 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 20 69 73 >print</span></code>.function.is
cb80 20 61 6c 6c 6f 77 65 64 20 74 6f 20 66 61 69 6c 20 62 65 63 61 75 73 65 0a 20 20 20 20 20 20 20 .allowed.to.fail.because........
cba0 20 69 74 20 69 73 20 61 63 74 75 61 6c 6c 79 20 61 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e .it.is.actually.a.function.defin
cbc0 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 61 20 67 65 6e 65 72 69 63 20 57 72 69 74 65 72 2e 20 ed.as.part.of.a.generic.Writer..
cbe0 43 6f 6e 73 69 64 65 72 20 61 20 67 65 6e 65 72 69 63 20 57 72 69 74 65 72 20 74 68 61 74 0a 20 Consider.a.generic.Writer.that..
cc00 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 73 20 77 72 69 74 69 6e 67 20 64 61 74 61 20 74 .......represents.writing.data.t
cc20 6f 20 61 20 66 69 6c 65 2e 20 57 68 65 6e 20 74 68 65 20 64 69 73 6b 20 69 73 20 66 75 6c 6c 2c o.a.file..When.the.disk.is.full,
cc40 20 61 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 66 69 6c 65 20 77 69 6c 6c 20 66 61 69 6c 2e 0a .a.write.to.the.file.will.fail..
cc60 20 20 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 77 65 20 74 79 70 69 63 61 6c 6c 79 20 64 6f ........However,.we.typically.do
cc80 20 6e 6f 74 20 65 78 70 65 63 74 20 77 72 69 74 69 6e 67 20 74 65 78 74 20 74 6f 20 74 68 65 20 .not.expect.writing.text.to.the.
cca0 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 74 6f 20 66 61 69 6c 2e 20 54 6f 20 61 76 6f 69 standard.output.to.fail..To.avoi
ccc0 64 20 68 61 76 69 6e 67 0a 20 20 20 20 20 20 20 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 66 d.having.........to.handle.the.f
cce0 61 69 6c 75 72 65 20 63 61 73 65 20 6f 66 20 70 72 69 6e 74 69 6e 67 20 74 6f 20 73 74 61 6e 64 ailure.case.of.printing.to.stand
cd00 61 72 64 20 6f 75 74 70 75 74 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 61 6c 74 65 72 6e 61 74 ard.output,.you.can.use.alternat
cd20 65 20 66 75 6e 63 74 69 6f 6e 73 3a 20 74 68 65 0a 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f e.functions:.the.........functio
cd40 6e 73 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 73 ns.in.<code><span.class="line">s
cd60 74 64 2e 6c 6f 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 70 72 6f 70 65 72 20 td.log</span></code>.for.proper.
cd80 6c 6f 67 67 69 6e 67 20 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 logging.or.the.<code><span.class
cda0 3d 22 6c 69 6e 65 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 ="line">std.debug.print</span></
cdc0 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 64 6f 63 code>.function..........This.doc
cde0 75 6d 65 6e 74 61 74 69 6f 6e 20 77 69 6c 6c 20 75 73 65 20 74 68 65 20 6c 61 74 74 65 72 20 6f umentation.will.use.the.latter.o
ce00 70 74 69 6f 6e 20 74 6f 20 70 72 69 6e 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 ption.to.print.to.standard.error
ce20 20 28 73 74 64 65 72 72 29 20 61 6e 64 20 73 69 6c 65 6e 74 6c 79 20 72 65 74 75 72 6e 0a 20 20 .(stderr).and.silently.return...
ce40 20 20 20 20 20 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 54 68 65 20 6e 65 78 74 20 63 6f 64 65 20 ......on.failure..The.next.code.
ce60 73 61 6d 70 6c 65 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f sample,.<code.class="file">hello
ce80 5f 61 67 61 69 6e 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 74 _again.zig</code>.demonstrates.t
cea0 68 65 20 75 73 65 20 6f 66 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c he.use.of.........<code><span.cl
cec0 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3c 2f 73 70 61 6e ass="line">std.debug.print</span
cee0 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 67 75 ></code>........</p>.......<figu
cf00 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"><
cf20 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 5f 61 67 61 69 6e 2e 7a 69 cite.class="file">hello_again.zi
cf40 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>
cf60 3c 73 70 61 6e 20 63 6c 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="
cf80 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
cfa0 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</
cfc0 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
cfe0 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;
d000 3c 2f 73 70 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
d020 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
d040 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
d060 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
d080 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
d0a0 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
d0c0 61 6e 3e 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 an>.<span.class="line">....print
d0e0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c (<span.class="tok-str">&quot;Hel
d100 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b lo,.world!\n&quot;</span>,..{});
d120 3c 2f 73 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
d140 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
d160 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
d180 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 3c 73 70 61 hell</figcaption><pre><samp><spa
d1a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d n.class="line">$.<kbd>zig.build-
d1c0 65 78 65 20 68 65 6c 6c 6f 5f 61 67 61 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e exe.hello_again.zig</kbd></span>
d1e0 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
d200 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 68 65 6c 6c 6f 5f 61 67 n.class="line">$.<kbd>./hello_ag
d220 61 69 6e 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ain</kbd></span>.<span.class="li
d240 6e 65 22 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e ne">Hello,.world!</span>.</samp>
d260 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>.......
d280 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 68 65 20 Note.that.you.can.leave.off.the.
d2a0 3c 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 6e <code><span.class="line">!</span
d2c0 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 20 62 65 ></code>.from.the.return.type.be
d2e0 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 22 3e 73 cause.<code><span.class="line">s
d300 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 63 61 6e td.debug.print</span></code>.can
d320 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 3e 53 65 not.fail........</p>.......<p>Se
d340 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 61 e.also:</p><ul>.<li><a.href="#Va
d360 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 68 72 65 lues">Values</a></li>.<li><a.hre
d380 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 f="#import">@import</a></li>.<li
d3a0 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
d3c0 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 46 69 6c i>.<li><a.href="#Root-Source-Fil
d3e0 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 3c 6c 69 e">Root.Source.File</a></li>.<li
d400 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 6f 75 72 ><a.href="#Source-Encoding">Sour
d420 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 20 20 20 ce.Encoding</a></li>.</ul>......
d440 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 20 68 72 .........<h2.id="Comments"><a.hr
d460 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 61 3e 20 ef="#toc-Comments">Comments</a>.
d480 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 73 22 3e <a.class="hdr".href="#Comments">
d4a0 c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 ..</a></h2>........<figure><figc
d4c0 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
d4e0 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 ss="file">comments.zig</cite></f
d500 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
d520 3d 22 6c 69 6e 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
d540 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 st</span>.print.=.<span.class="t
d560 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
d580 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;
d5a0 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 70 </span>).debug.print;</span>.<sp
d5c0 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
d5e0 61 73 73 3d 22 6c 69 6e 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">
d600 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">
d620 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
d640 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
d660 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
d680 6c 61 73 73 3d 22 6c 69 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
d6a0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 6d 6d 65 6e 74 73 20 69 6e 20 5a 69 67 20 73 74 61 -comment">//.Comments.in.Zig.sta
d6c0 72 74 20 77 69 74 68 20 26 71 75 6f 74 3b 2f 2f 26 71 75 6f 74 3b 20 61 6e 64 20 65 6e 64 20 61 rt.with.&quot;//&quot;.and.end.a
d6e0 74 20 74 68 65 20 6e 65 78 74 20 4c 46 20 62 79 74 65 20 28 65 6e 64 20 6f 66 20 6c 69 6e 65 29 t.the.next.LF.byte.(end.of.line)
d700 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
d720 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"
d740 3e 2f 2f 20 54 68 65 20 6c 69 6e 65 20 62 65 6c 6f 77 20 69 73 20 61 20 63 6f 6d 6d 65 6e 74 20 >//.The.line.below.is.a.comment.
d760 61 6e 64 20 77 6f 6e 27 74 20 62 65 20 65 78 65 63 75 74 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 and.won't.be.executed.</span></s
d780 70 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>.
d7a0 3c 73 70 61 6e 20 63 6c 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
d7c0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 70 72 69 6e 74 28 26 71 75 6f 74 3b 48 ss="tok-comment">//print(&quot;H
d7e0 65 6c 6c 6f 3f 26 71 75 6f 74 3b 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ello?&quot;,..{});</span></span>
d800 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
d820 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
d840 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 6c lass="tok-str">&quot;Hello,.worl
d860 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 20 3c 73 70 61 6e 20 63 d!\n&quot;</span>,..{});.<span.c
d880 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 6f 74 68 65 72 20 63 6f lass="tok-comment">//.another.co
d8a0 6d 6d 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 mment</span></span>.<span.class=
d8c0 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
d8e0 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="
d900 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
d920 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
d940 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 6b 62 d>zig.build-exe.comments.zig</kb
d960 64 3e 3c 2f 73 70 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 d></span>.<span.class="line"></s
d980 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e pan>.<span.class="line">$.<kbd>.
d9a0 2f 63 6f 6d 6d 65 6e 74 73 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 /comments</kbd></span>.<span.cla
d9c0 73 73 3d 22 6c 69 6e 65 22 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 70 61 6e 3e 0a 3c ss="line">Hello,.world!</span>.<
d9e0 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>.
da00 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 6e 6f 20 6d 75 6c 74 69 6c 69 6e 65 20 63 6f 6d ......There.are.no.multiline.com
da20 6d 65 6e 74 73 20 69 6e 20 5a 69 67 20 28 65 2e 67 2e 20 6c 69 6b 65 20 3c 63 6f 64 65 20 63 6c ments.in.Zig.(e.g..like.<code.cl
da40 61 73 73 3d 22 63 22 3e 2f 2a 20 2a 2f 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 63 6f 6d 6d 65 ass="c">/*.*/</code>.......comme
da60 6e 74 73 20 69 6e 20 43 29 2e 20 20 54 68 69 73 20 68 65 6c 70 73 20 61 6c 6c 6f 77 20 5a 69 67 nts.in.C)...This.helps.allow.Zig
da80 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 74 20 65 61 63 68 20 .to.have.the.property.that.each.
daa0 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 20 74 6f 6b 65 6e 69 line.......of.code.can.be.tokeni
dac0 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 20 3c 2f 70 3e 0a 20 zed.out.of.context........</p>..
dae0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 6f 63 2d 63 6f 6d 6d 65 6e 74 73 22 3e 3c 61 20 68 72 .....<h3.id="Doc-comments"><a.hr
db00 65 66 3d 22 23 74 6f 63 2d 44 6f 63 2d 63 6f 6d 6d 65 6e 74 73 22 3e 44 6f 63 20 63 6f 6d 6d 65 ef="#toc-Doc-comments">Doc.comme
db20 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 44 6f nts</a>.<a.class="hdr".href="#Do
db40 63 2d 63 6f 6d 6d 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 c-comments">..</a></h3>........<
db60 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 20 6f 6e 65 20 74 68 p>.......A.doc.comment.is.one.th
db80 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 72 65 65 20 73 6c 61 at.begins.with.exactly.three.sla
dba0 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 70 61 6e 20 63 6c 61 shes.(i.e........<code><span.cla
dbc0 73 73 3d 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
dbe0 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 64 65 3e 20 62 75 74 nt">///</span></span></code>.but
dc00 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 69 6e 65 22 3e 3c 73 .not.<code><span.class="line"><s
dc20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 2f 3c 2f 73 70 pan.class="tok-comment">////</sp
dc40 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 20 6d 75 6c 74 69 70 an></span></code>);.......multip
dc60 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 61 72 65 20 6d 65 72 le.doc.comments.in.a.row.are.mer
dc80 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 6c 74 69 6c 69 6e 65 ged.together.to.form.a.multiline
dca0 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 64 6f 63 20 63 6f 6d .......doc.comment...The.doc.com
dcc0 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 6d 6d 65 64 69 61 74 ment.documents.whatever.immediat
dce0 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 3e 0a 20 20 20 20 20 ely.follows.it........</p>......
dd00 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-
dd20 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 6f 63 5f 63 6f 6d 6d cap"><cite.class="file">doc_comm
dd40 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 70 72 65 ents.zig</cite></figcaption><pre
dd60 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.
dd80 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 20 73 74 72 75 63 74 class="tok-comment">///.A.struct
dda0 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 6d 70 2c 20 77 69 74 ure.for.storing.a.timestamp,.wit
ddc0 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 68 69 73 20 69 73 20 h.nanosecond.precision.(this.is.
dde0 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 73 73 3d 22 6c 69 6e a</span></span>.<span.class="lin
de00 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 2f e"><span.class="tok-comment">///
de20 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 2f 73 70 61 6e 3e 3c .multiline.doc.comment).</span><
de40 2f 73 70 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.
de60 63 6c 61 73 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 69 6d 65 class="tok-kw">const</span>.Time
de80 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 6b 77 22 3e 73 74 72 stamp.=.<span.class="tok-kw">str
dea0 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=
dec0 22 6c 69 6e 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
dee0 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 63 6f 6e 64 73 20 73 ent">///.The.number.of.seconds.s
df00 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 6c 73 6f 20 61 20 64 ince.the.epoch.(this.is.also.a.d
df20 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 3e 0a 3c 73 70 61 6e oc.comment).</span></span>.<span
df40 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 3a 20 3c 73 70 61 6e .class="line">....seconds:.<span
df60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 20 20 3c .class="tok-type">i64</span>,..<
df80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 69 67 6e span.class="tok-comment">//.sign
dfa0 65 64 20 73 6f 20 77 65 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 70 72 65 2d 31 39 37 30 20 ed.so.we.can.represent.pre-1970.
dfc0 28 6e 6f 74 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e (not.a.doc.comment)</span></span
dfe0 3e 0a 3c 73 70 61 6e 20 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
e000 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 68 65 20 6e 75 6d 62 65 lass="tok-comment">///.The.numbe
e020 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 20 73 65 63 6f 6e 64 r.of.nanoseconds.past.the.second
e040 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 61 6e 3e 3c 2f 73 70 .(doc.comment.again).</span></sp
e060 61 6e 3e 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 61 6e 6f 73 an>.<span.class="line">....nanos
e080 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
e0a0 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"><
e0c0 2f 73 70 61 6e 3e 0a 3c 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
e0e0 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 52 65 74 75 pan.class="tok-comment">///.Retu
e100 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 72 65 70 72 65 73 65 rns.a.`Timestamp`.struct.represe
e120 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 74 20 69 73 2c 20 74 nting.the.Unix.epoch;.that.is,.t
e140 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 22 6c 69 he</span></span>.<span.class="li
e160 6e 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
e180 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 31 20 30 30 3a 30 30 ">///.moment.of.1970.Jan.1.00:00
e1a0 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 6d 6d 65 6e 74 20 74 :00.UTC.(this.is.a.doc.comment.t
e1c0 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 63 6c 61 73 73 3d 22 oo).</span></span>.<span.class="
e1e0 6c 69 6e 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 70 line">....<span.class="tok-kw">p
e200 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ub</span>.<span.class="tok-kw">f
e220 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 75 6e n</span>.<span.class="tok-fn">un
e240 69 78 45 70 6f 63 68 3c 2f 73 70 61 6e 3e 28 29 20 54 69 6d 65 73 74 61 6d 70 20 7b 3c 2f 73 70 ixEpoch</span>().Timestamp.{</sp
e260 61 6e 3e 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">........<
e280 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
e2a0 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 20 63 6c 61 73 73 3d >.Timestamp{</span>.<span.class=
e2c0 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 64 73 20 3d 20 3c 73 "line">.............seconds.=.<s
e2e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">0</span>,
e300 3c 2f 73 70 61 6e 3e 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">.....
e320 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 73 73 3d 22 74 6f 6b ........nanos.=.<span.class="tok
e340 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 0a 3c 73 70 61 6e 20 -number">0</span>,</span>.<span.
e360 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>.<
e380 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>.<
e3a0 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
e3c0 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 e></pre></figure>.......<p>.....
e3e0 20 20 44 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 6f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 ..Doc.comments.are.only.allowed.
e400 69 6e 20 63 65 72 74 61 69 6e 20 70 6c 61 63 65 73 3b 20 65 76 65 6e 74 75 61 6c 6c 79 2c 20 69 in.certain.places;.eventually,.i
e420 74 20 77 69 6c 6c 0a 20 20 20 20 20 20 62 65 63 6f 6d 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 t.will.......become.a.compile.er
e440 72 6f 72 20 74 6f 20 68 61 76 65 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 69 6e 20 61 6e 20 ror.to.have.a.doc.comment.in.an.
e460 75 6e 65 78 70 65 63 74 65 64 20 70 6c 61 63 65 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 unexpected.place,.such.as.......
e480 69 6e 20 74 68 65 20 6d 69 64 64 6c 65 20 6f 66 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 in.the.middle.of.an.expression,.
e4a0 6f 72 20 6a 75 73 74 20 62 65 66 6f 72 65 20 61 20 6e 6f 6e 2d 64 6f 63 20 63 6f 6d 6d 65 6e 74 or.just.before.a.non-doc.comment
e4c0 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
e4e0 3d 22 54 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 ="Top-Level-Doc-Comments"><a.hre
e500 66 3d 22 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 f="#toc-Top-Level-Doc-Comments">
e520 54 6f 70 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 Top-Level.Doc.Comments</a>.<a.cl
e540 61 73 73 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 ass="hdr".href="#Top-Level-Doc-C
e560 6f 6d 6d 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 55 omments">..</a></h3>........<p>U
e580 73 65 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 74 68 61 74 20 64 6f 65 73 6e 27 74 20 62 ser.documentation.that.doesn't.b
e5a0 65 6c 6f 6e 67 20 74 6f 20 77 68 61 74 65 76 65 72 0a 20 20 20 20 20 20 69 6d 6d 65 64 69 61 74 elong.to.whatever.......immediat
e5c0 65 6c 79 20 66 6f 6c 6c 6f 77 73 20 69 74 2c 20 6c 69 6b 65 20 70 61 63 6b 61 67 65 2d 6c 65 76 ely.follows.it,.like.package-lev
e5e0 65 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 67 6f 65 73 0a 20 20 20 20 20 20 69 6e 20 el.documentation,.goes.......in.
e600 74 6f 70 2d 6c 65 76 65 6c 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 2e 20 41 20 74 6f 70 2d 6c 65 top-level.doc.comments..A.top-le
e620 76 65 6c 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 69 73 20 6f 6e 65 20 74 68 61 74 0a 20 20 20 20 vel.doc.comment.is.one.that.....
e640 20 20 62 65 67 69 6e 73 20 77 69 74 68 20 74 77 6f 20 73 6c 61 73 68 65 73 20 61 6e 64 20 61 6e ..begins.with.two.slashes.and.an
e660 20 65 78 63 6c 61 6d 61 74 69 6f 6e 20 70 6f 69 6e 74 3a 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e .exclamation.point:.......<code>
e680 3c 73 70 61 6e 20 63 6c 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="
e6a0 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 61 6e 3e 3c 2f tok-comment">//!</span></span></
e6c0 63 6f 64 65 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 code>.</p>.......<figure><figcap
e6e0 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
e700 3d 22 66 69 6c 65 22 3e 74 6c 64 6f 63 5f 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c 2f 63 69 74 65 ="file">tldoc_comments.zig</cite
e720 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
e740 6c 61 73 73 3d 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
e760 6d 65 6e 74 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 ment">//!.This.module.provides.f
e780 75 6e 63 74 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 unctions.for.retrieving.the.curr
e7a0 65 6e 74 20 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 ent.date.and</span></span>.<span
e7c0 20 63 6c 61 73 73 3d 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
e7e0 6f 6d 6d 65 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 omment">//!.time.with.varying.de
e800 67 72 65 65 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 grees.of.precision.and.accuracy.
e820 20 49 74 20 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 .It.does.not</span></span>.<span
e840 20 63 6c 61 73 73 3d 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
e860 6f 6d 6d 65 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 omment">//!.depend.on.libc,.but.
e880 77 69 6c 6c 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 will.use.functions.from.it.if.av
e8a0 61 69 6c 61 62 6c 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ailable.</span></span></code></p
e8c0 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 20 20 20 20 20 re></figure>....................
e8e0 20 3c 68 32 20 69 64 3d 22 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 56 .<h2.id="Values"><a.href="#toc-V
e900 61 6c 75 65 73 22 3e 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 alues">Values</a>.<a.class="hdr"
e920 20 68 72 65 66 3d 22 23 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 .href="#Values">..</a></h2>.....
e940 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
e960 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 76 61 6c 75 65 73 g-cap"><cite.class="file">values
e980 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
e9a0 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
e9c0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 70 2d 6c 65 76 65 6c 20 64 65 63 s="tok-comment">//.Top-level.dec
e9e0 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e 64 65 6e 74 3a larations.are.order-independent:
ea00 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
ea20 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
ea40 61 6e 3e 20 70 72 69 6e 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 an>.print.=.std.debug.print;</sp
ea60 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
ea80 73 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.=.<
eaa0 73 70 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
eac0 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
eae0 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
eb00 70 61 6e 20 63 6c 61 73 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
eb20 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 20 3d 20 73 74 64 2e 6f 73 3b 3c k-kw">const</span>.os.=.std.os;<
eb40 2f 73 70 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.
eb60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 class="tok-kw">const</span>.asse
eb80 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 73 rt.=.std.debug.assert;</span>.<s
eba0 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
ebc0 6c 61 73 73 3d 22 6c 69 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"
ebe0 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"
ec00 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">
ec20 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
ec40 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.
ec60 63 6c 61 73 73 3d 22 6c 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
ec80 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 74 65 67 65 72 73 3c 2f 73 70 61 6e 3e 3c 2f 73 k-comment">//.integers</span></s
eca0 70 61 6e 3e 0a 3c 73 70 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
ecc0 6e 20 63 6c 61 73 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 6e n.class="tok-kw">const</span>.on
ece0 65 5f 70 6c 75 73 5f 6f 6e 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 e_plus_one:.<span.class="tok-typ
ed00 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
ed20 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -number">1</span>.+.<span.class=
ed40 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
ed60 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
ed80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 20 2b 20 31 20 3d 20 7b .class="tok-str">&quot;1.+.1.=.{
eda0 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6f 6e 65 5f 70 6c 75 73 5f 6f 6e 65 }\n&quot;</span>,..{one_plus_one
edc0 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 3c 2f });</span>.<span.class="line"></
ede0 73 70 61 6e 3e 0a 3c 73 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
ee00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 6c 6f 61 74 73 an.class="tok-comment">//.floats
ee20 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
ee40 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
ee60 3c 2f 73 70 61 6e 3e 20 73 65 76 65 6e 5f 64 69 76 5f 74 68 72 65 65 3a 20 3c 73 70 61 6e 20 63 </span>.seven_div_three:.<span.c
ee80 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 lass="tok-type">f32</span>.=.<sp
eea0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 2e 30 3c 2f 73 70 61 6e 3e an.class="tok-number">7.0</span>
eec0 20 2f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 30 3c ./.<span.class="tok-number">3.0<
eee0 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
ef00 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
ef20 22 3e 26 71 75 6f 74 3b 37 2e 30 20 2f 20 33 2e 30 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f ">&quot;7.0./.3.0.=.{}\n&quot;</
ef40 73 70 61 6e 3e 2c 20 2e 7b 73 65 76 65 6e 5f 64 69 76 5f 74 68 72 65 65 7d 29 3b 3c 2f 73 70 61 span>,..{seven_div_three});</spa
ef60 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
ef80 70 61 6e 20 63 6c 61 73 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
efa0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 6f 6f 6c 65 61 6e 3c 2f 73 70 61 6e 3e ="tok-comment">//.boolean</span>
efc0 3c 2f 73 70 61 6e 3e 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
efe0 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
f000 3b 7b 7d 5c 6e 7b 7d 5c 6e 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f ;{}\n{}\n{}\n&quot;</span>,..{</
f020 73 70 61 6e 3e 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">.......
f040 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
f060 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 an>.<span.class="tok-kw">and</sp
f080 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 65 an>.<span.class="tok-null">false
f0a0 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
f0c0 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 75 6c 6c e">........<span.class="tok-null
f0e0 22 3e 74 72 75 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 ">true</span>.<span.class="tok-k
f100 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 w">or</span>.<span.class="tok-nu
f120 6c 6c 22 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 ll">false</span>,</span>.<span.c
f140 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">........!<span.class
f160 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 61 6e 3e 0a ="tok-null">true</span>,</span>.
f180 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 61 6e <span.class="line">....});</span
f1a0 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
f1c0 61 6e 20 63 6c 61 73 73 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=
f1e0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e "tok-comment">//.optional</span>
f200 3c 2f 73 70 61 6e 3e 0a 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">....<
f220 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 6f span.class="tok-kw">var</span>.o
f240 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ptional_value:.?[]<span.class="t
f260 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=
f280 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
f2a0 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 6e ss="tok-null">null</span>;</span
f2c0 3e 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(
f2e0 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 73 3d 22 74 optional_value.==.<span.class="t
f300 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 3e 0a 3c 73 ok-null">null</span>);</span>.<s
f320 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
f340 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 6c 61 73 lass="line">....print(<span.clas
f360 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 6f 70 74 69 6f 6e 61 6c 20 31 5c 6e s="tok-str">&quot;\noptional.1\n
f380 74 79 70 65 3a 20 7b 73 7d 5c 6e 76 61 6c 75 65 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 type:.{s}\nvalue:.{s}\n&quot;</s
f3a0 70 61 6e 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 pan>,..{</span>.<span.class="lin
f3c0 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 69 6c e">........<span.class="tok-buil
f3e0 74 69 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 tin">@typeName</span>(<span.clas
f400 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 6f s="tok-builtin">@TypeOf</span>(o
f420 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 29 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ptional_value)),</span>.<span.cl
f440 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 ass="line">........optional_valu
f460 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 20 e,</span>.<span.class="line">...
f480 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 3e 3c .});</span>.<span.class="line"><
f4a0 2f 73 70 61 6e 3e 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 70 /span>.<span.class="line">....op
f4c0 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d tional_value.=.<span.class="tok-
f4e0 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 str">&quot;hi&quot;</span>;</spa
f500 6e 3e 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 n>.<span.class="line">....assert
f520 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 (optional_value.!=.<span.class="
f540 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 3e 0a 3c tok-null">null</span>);</span>.<
f560 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.
f580 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 6c 61 class="line">....print(<span.cla
f5a0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 6f 70 74 69 6f 6e 61 6c 20 32 5c ss="tok-str">&quot;\noptional.2\
f5c0 6e 74 79 70 65 3a 20 7b 73 7d 5c 6e 76 61 6c 75 65 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f ntype:.{s}\nvalue:.{s}\n&quot;</
f5e0 73 70 61 6e 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 span>,..{</span>.<span.class="li
f600 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 69 ne">........<span.class="tok-bui
f620 6c 74 69 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 ltin">@typeName</span>(<span.cla
f640 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>(
f660 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 29 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 optional_value)),</span>.<span.c
f680 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c lass="line">........optional_val
f6a0 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 69 6e 65 22 3e 20 20 ue,</span>.<span.class="line">..
f6c0 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 3e ..});</span>.<span.class="line">
f6e0 3c 2f 73 70 61 6e 3e 0a 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">....<
f700 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 72 72 6f span.class="tok-comment">//.erro
f720 72 20 75 6e 69 6f 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 r.union</span></span>.<span.clas
f740 73 3d 22 6c 69 6e 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
f760 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 3a 20 3c 73 ">var</span>.number_or_error:.<s
f780 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 pan.class="tok-type">anyerror</s
f7a0 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 69 33 32 3c pan>!<span.class="tok-type">i32<
f7c0 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 22 3e 65 72 /span>.=.<span.class="tok-kw">er
f7e0 72 6f 72 3c 2f 73 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 ror</span>.ArgNotFound;</span>.<
f800 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.
f820 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 6c 61 class="line">....print(<span.cla
f840 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 65 72 72 6f 72 20 75 6e 69 6f 6e ss="tok-str">&quot;\nerror.union
f860 20 31 5c 6e 74 79 70 65 3a 20 7b 73 7d 5c 6e 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b .1\ntype:.{s}\nvalue:.{}\n&quot;
f880 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 6c 61 73 73 3d 22 </span>,..{</span>.<span.class="
f8a0 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 62 line">........<span.class="tok-b
f8c0 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 3c 73 70 61 6e 20 63 uiltin">@typeName</span>(<span.c
f8e0 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
f900 3e 28 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 29 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >(number_or_error)),</span>.<spa
f920 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 5f 6f 72 n.class="line">........number_or
f940 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 69 6e 65 _error,</span>.<span.class="line
f960 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
f980 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">.
f9a0 20 20 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ...number_or_error.=.<span.class
f9c0 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 6e ="tok-number">1234</span>;</span
f9e0 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
fa00 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.
fa20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 65 72 72 6f 72 20 75 6e class="tok-str">&quot;\nerror.un
fa40 69 6f 6e 20 32 5c 6e 74 79 70 65 3a 20 7b 73 7d 5c 6e 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 ion.2\ntype:.{s}\nvalue:.{}\n&qu
fa60 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 6c 61 73 ot;</span>,..{</span>.<span.clas
fa80 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
faa0 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 3c 73 70 61 k-builtin">@typeName</span>(<spa
fac0 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
fae0 70 61 6e 3e 28 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 29 29 2c 3c 2f 73 70 61 6e 3e 0a 3c pan>(number_or_error)),</span>.<
fb00 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
fb20 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
fb40 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=
fb60 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
fb80 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="
fba0 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
fbc0 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
fbe0 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e d>zig.build-exe.values.zig</kbd>
fc00 3c 2f 73 70 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
fc20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 76 n>.<span.class="line">$.<kbd>./v
fc40 61 6c 75 65 73 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 alues</kbd></span>.<span.class="
fc60 6c 69 6e 65 22 3e 31 20 2b 20 31 20 3d 20 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 line">1.+.1.=.2</span>.<span.cla
fc80 73 73 3d 22 6c 69 6e 65 22 3e 37 2e 30 20 2f 20 33 2e 30 20 3d 20 32 2e 33 33 33 33 33 33 32 35 ss="line">7.0./.3.0.=.2.33333325
fca0 65 2b 30 30 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 e+00</span>.<span.class="line">f
fcc0 61 6c 73 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 74 alse</span>.<span.class="line">t
fce0 72 75 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 66 61 rue</span>.<span.class="line">fa
fd00 6c 73 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 2f lse</span>.<span.class="line"></
fd20 73 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 70 74 69 6f 6e 61 span>.<span.class="line">optiona
fd40 6c 20 31 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 79 l.1</span>.<span.class="line">ty
fd60 70 65 3a 20 3f 5b 5d 63 6f 6e 73 74 20 75 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pe:.?[]const.u8</span>.<span.cla
fd80 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3a 20 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ss="line">value:.null</span>.<sp
fda0 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
fdc0 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6f 6e 61 6c 20 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ass="line">optional.2</span>.<sp
fde0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 79 70 65 3a 20 3f 5b 5d 63 6f 6e 73 74 20 75 an.class="line">type:.?[]const.u
fe00 38 3c 2f 73 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 61 6c 75 8</span>.<span.class="line">valu
fe20 65 3a 20 68 69 3c 2f 73 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:.hi</span>.<span.class="line">
fe40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 </span>.<span.class="line">error
fe60 20 75 6e 69 6f 6e 20 31 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .union.1</span>.<span.class="lin
fe80 65 22 3e 74 79 70 65 3a 20 61 6e 79 65 72 72 6f 72 21 69 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 e">type:.anyerror!i32</span>.<sp
fea0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3a 20 65 72 72 6f 72 2e 41 72 67 an.class="line">value:.error.Arg
fec0 4e 6f 74 46 6f 75 6e 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 NotFound</span>.<span.class="lin
fee0 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 65 72 e"></span>.<span.class="line">er
ff00 72 6f 72 20 75 6e 69 6f 6e 20 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ror.union.2</span>.<span.class="
ff20 6c 69 6e 65 22 3e 74 79 70 65 3a 20 61 6e 79 65 72 72 6f 72 21 69 33 32 3c 2f 73 70 61 6e 3e 0a line">type:.anyerror!i32</span>.
ff40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3a 20 31 32 33 34 3c 2f <span.class="line">value:.1234</
ff60 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>....
ff80 20 20 20 3c 68 33 20 69 64 3d 22 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 3c 61 20 68 ...<h3.id="Primitive-Types"><a.h
ffa0 72 65 66 3d 22 23 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 50 72 69 6d 69 ref="#toc-Primitive-Types">Primi
ffc0 74 69 76 65 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 tive.Types</a>.<a.class="hdr".hr
ffe0 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ef="#Primitive-Types">..</a></h3
10000 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 2d 77 72 61 70 70 >........<div.class="table-wrapp
10020 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 63 61 70 74 er">.......<table>.........<capt
10040 69 6f 6e 3e 50 72 69 6d 69 74 69 76 65 20 54 79 70 65 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 ion>Primitive.Types</caption>...
10060 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 ......<thead>.............<tr>..
10080 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 54 79 70 65 3c ...........<th.scope="col">Type<
100a0 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 /th>.............<th.scope="col"
100c0 3e 43 20 45 71 75 69 76 61 6c 65 6e 74 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c >C.Equivalent</th>.............<
100e0 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 3c 2f 74 68 3e 0a th.scope="col">Description</th>.
10100 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 ........</tr>.........</thead>..
10120 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 .......<tbody>.........<tr>.....
10140 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
10160 70 61 6e 20 63 6c 61 73 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
10180 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c k-type">i8</span></span></code><
101a0 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 22 /th>...........<td><code.class="
101c0 63 22 3e 69 6e 74 38 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 c">int8_t</code></td>...........
101e0 3c 74 64 3e 73 69 67 6e 65 64 20 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 <td>signed.8-bit.integer</td>...
10200 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>........
10220 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
10240 20 63 6c 61 73 73 3d 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
10260 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 3c 2f 74 68 ype">u8</span></span></code></th
10280 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">
102a0 75 69 6e 74 38 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 uint8_t</code></td>...........<t
102c0 64 3e 75 6e 73 69 67 6e 65 64 20 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 d>unsigned.8-bit.integer</td>...
102e0 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>........
10300 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
10320 20 63 6c 61 73 73 3d 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
10340 79 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 ype">i16</span></span></code></t
10360 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"
10380 3e 69 6e 74 31 36 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c >int16_t</code></td>...........<
103a0 74 64 3e 73 69 67 6e 65 64 20 31 36 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 td>signed.16-bit.integer</td>...
103c0 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>........
103e0 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
10400 20 63 6c 61 73 73 3d 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
10420 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 ype">u16</span></span></code></t
10440 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"
10460 3e 75 69 6e 74 31 36 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 >uint16_t</code></td>...........
10480 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 31 36 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e <td>unsigned.16-bit.integer</td>
104a0 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>.....
104c0 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
104e0 70 61 6e 20 63 6c 61 73 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
10500 6b 2d 74 79 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 k-type">i32</span></span></code>
10520 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=
10540 22 63 22 3e 69 6e 74 33 32 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 "c">int32_t</code></td>.........
10560 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 33 32 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e ..<td>signed.32-bit.integer</td>
10580 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>.....
105a0 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
105c0 70 61 6e 20 63 6c 61 73 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
105e0 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 2f 63 6f 64 65 3e k-type">u32</span></span></code>
10600 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=
10620 22 63 22 3e 75 69 6e 74 33 32 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 "c">uint32_t</code></td>........
10640 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 33 32 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f ...<td>unsigned.32-bit.integer</
10660 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>..
10680 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
106a0 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=
106c0 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-type">i64</span></span></co
106e0 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 de></th>...........<td><code.cla
10700 73 73 3d 22 63 22 3e 69 6e 74 36 34 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 ss="c">int64_t</code></td>......
10720 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f .....<td>signed.64-bit.integer</
10740 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>..
10760 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
10780 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=
107a0 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 6e 3e 3c 2f 63 6f "tok-type">u64</span></span></co
107c0 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 de></th>...........<td><code.cla
107e0 73 73 3d 22 63 22 3e 75 69 6e 74 36 34 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 ss="c">uint64_t</code></td>.....
10800 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 ......<td>unsigned.64-bit.intege
10820 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
10840 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
10860 6f 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
10880 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ss="tok-type">i128</span></span>
108a0 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 </code></th>...........<td><code
108c0 20 63 6c 61 73 73 3d 22 63 22 3e 5f 5f 69 6e 74 31 32 38 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a .class="c">__int128</code></td>.
108e0 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 31 32 38 2d 62 69 74 20 69 6e 74 ..........<td>signed.128-bit.int
10900 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 eger</td>.........</tr>.........
10920 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"
10940 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.
10960 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 3c 2f 73 70 class="tok-type">u128</span></sp
10980 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 an></code></th>...........<td><c
109a0 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 5f 5f 69 6e 74 31 32 38 3c ode.class="c">unsigned.__int128<
109c0 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e /code></td>...........<td>unsign
109e0 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 20 ed.128-bit.integer</td>.........
10a00 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>.............<
10a20 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
10a40 3d 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 69 ="line"><span.class="tok-type">i
10a60 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 74 68 3e 0a 20 size</span></span></code></th>..
10a80 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 .........<td><code.class="c">int
10aa0 70 74 72 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e ptr_t</code></td>...........<td>
10ac0 73 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 73 69 7a 65 64 20 69 6e 74 65 67 65 72 3c 2f 74 64 signed.pointer.sized.integer</td
10ae0 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>....
10b00 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><
10b20 73 70 61 6e 20 63 6c 61 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
10b40 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 3e 3c 2f 63 6f ok-type">usize</span></span></co
10b60 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 de></th>...........<td><code.cla
10b80 73 73 3d 22 63 22 3e 75 69 6e 74 70 74 72 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 ss="c">uintptr_t</code></td>....
10ba0 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 73 69 7a 65 .......<td>unsigned.pointer.size
10bc0 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 0a 20 20 d.integer</td>.........</tr>....
10be0 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
10c00 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">
10c20 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 73 68 6f 72 74 3c 2f <span.class="tok-type">c_short</
10c40 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 20 span></span></code></th>........
10c60 20 20 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 ...<td><code.class="c">short</co
10c80 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 de></td>...........<td>for.ABI.c
10ca0 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 ompatibility.with.C</td>........
10cc0 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>.............
10ce0 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
10d00 73 3d 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">
10d20 63 5f 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 c_ushort</span></span></code></t
10d40 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"
10d60 3e 75 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 >unsigned.short</code></td>.....
10d80 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 ......<td>for.ABI.compatibility.
10da0 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 with.C</td>.........</tr>.......
10dc0 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
10de0 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 61 w"><code><span.class="line"><spa
10e00 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><
10e20 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
10e40 3e 3c 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 ><code.class="c">int</code></td>
10e60 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 69 62 69 ...........<td>for.ABI.compatibi
10e80 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 3e 0a 20 lity.with.C</td>.........</tr>..
10ea0 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
10ec0 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"
10ee0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 69 6e 74 3c 2f ><span.class="tok-type">c_uint</
10f00 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 20 span></span></code></th>........
10f20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 ...<td><code.class="c">unsigned.
10f40 69 6e 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f int</code></td>...........<td>fo
10f60 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>.
10f80 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>......
10fa0 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
10fc0 61 6e 20 63 6c 61 73 73 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
10fe0 2d 74 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 -type">c_long</span></span></cod
11000 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 e></th>...........<td><code.clas
11020 73 3d 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 s="c">long</code></td>..........
11040 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 .<td>for.ABI.compatibility.with.
11060 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 C</td>.........</tr>.........<tr
11080 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
110a0 6f 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
110c0 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 70 ss="tok-type">c_ulong</span></sp
110e0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 an></code></th>...........<td><c
11100 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 3c 2f 63 6f 64 ode.class="c">unsigned.long</cod
11120 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f e></td>...........<td>for.ABI.co
11140 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 mpatibility.with.C</td>.........
11160 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>.............<
11180 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
111a0 3d 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 ="line"><span.class="tok-type">c
111c0 5f 6c 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 _longlong</span></span></code></
111e0 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
11200 22 3e 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 ">long.long</code></td>.........
11220 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 ..<td>for.ABI.compatibility.with
11240 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 .C</td>.........</tr>.........<t
11260 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"><
11280 63 6f 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
112a0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 6c 6f 6e 67 6c 6f 6e 67 3c 2f 73 70 61 6e ass="tok-type">c_ulonglong</span
112c0 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>...........<
112e0 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 6c 6f 6e 67 td><code.class="c">unsigned.long
11300 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 3c 74 64 3e .long</code></td>...........<td>
11320 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 for.ABI.compatibility.with.C</td
11340 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>....
11360 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><
11380 73 70 61 6e 20 63 6c 61 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
113a0 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ok-type">c_longdouble</span></sp
113c0 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 an></code></th>...........<td><c
113e0 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 6c 6f 6e 67 20 64 6f 75 62 6c 65 3c 2f 63 6f 64 65 3e ode.class="c">long.double</code>
11400 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
11420 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>.........</
11440 74 72 3e 0a 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 tr>..........<tr>.............<t
11460 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=
11480 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
114a0 36 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 6</span></span></code></th>.....
114c0 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 46 6c 6f 61 74 ......<td><code.class="c">_Float
114e0 31 36 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 31 36 2d 16</code></td>...........<td>16-
11500 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 31 30 2d 62 69 74 20 6d 61 6e 74 69 bit.floating.point.(10-bit.manti
11520 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 31 36 3c 2f 74 64 3e ssa).IEEE-754-2008.binary16</td>
11540 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>.....
11560 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
11580 70 61 6e 20 63 6c 61 73 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
115a0 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 2f 63 6f 64 65 3e k-type">f32</span></span></code>
115c0 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=
115e0 22 63 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 "c">float</code></td>...........
11600 3c 74 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 <td>32-bit.floating.point.(23-bi
11620 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 62 69 6e 61 72 79 t.mantissa).IEEE-754-2008.binary
11640 33 32 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 32</td>.........</tr>.........<t
11660 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"><
11680 63 6f 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
116a0 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 3c 2f 73 70 61 6e 3e ass="tok-type">f64</span></span>
116c0 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 </code></th>...........<td><code
116e0 20 63 6c 61 73 73 3d 22 63 22 3e 64 6f 75 62 6c 65 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 .class="c">double</code></td>...
11700 20 20 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 ........<td>64-bit.floating.poin
11720 74 20 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 t.(52-bit.mantissa).IEEE-754-200
11740 38 20 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 8.binary64</td>.........</tr>...
11760 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
11780 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">
117a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 <span.class="tok-type">f128</spa
117c0 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>...........
117e0 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 32 38 3c ..<td><code.class="c">_Float128<
11800 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 32 38 2d 62 69 /code></td>...........<td>128-bi
11820 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 31 31 32 2d 62 69 74 20 6d 61 6e 74 69 73 t.floating.point.(112-bit.mantis
11840 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 31 32 38 3c 2f 74 64 3e sa).IEEE-754-2008.binary128</td>
11860 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>.....
11880 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
118a0 70 61 6e 20 63 6c 61 73 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
118c0 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
118e0 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 ></th>...........<td><code.class
11900 3d 22 63 22 3e 62 6f 6f 6c 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 ="c">bool</code></td>...........
11920 3c 74 64 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 <td><code><span.class="line"><sp
11940 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c an.class="tok-null">true</span><
11960 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 /span></code>.or.<code><span.cla
11980 73 73 3d 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"
119a0 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 3c 2f 74 64 3e >false</span></span></code></td>
119c0 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>.....
119e0 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
11a00 70 61 6e 20 63 6c 61 73 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
11a20 6b 2d 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c k-type">anyopaque</span></span><
11a40 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 /code></th>...........<td><code.
11a60 63 6c 61 73 73 3d 22 63 22 3e 76 6f 69 64 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 class="c">void</code></td>......
11a80 20 20 20 20 20 3c 74 64 3e 55 73 65 64 20 66 6f 72 20 74 79 70 65 2d 65 72 61 73 65 64 20 70 6f .....<td>Used.for.type-erased.po
11aa0 69 6e 74 65 72 73 2e 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 inters.</td>.........</tr>......
11ac0 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
11ae0 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
11b00 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><
11b20 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
11b40 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 30 20 62 69 74 >(none)</td>...........<td>0.bit
11b60 20 74 79 70 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 .type</td>.........</tr>........
11b80 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 .<tr>.............<th.scope="row
11ba0 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 61 6e "><code><span.class="line"><span
11bc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e .class="tok-type">noreturn</span
11be0 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>...........<
11c00 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 74 68 65 td>(none)</td>...........<td>the
11c20 20 74 79 70 65 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 .type.of.<code><span.class="line
11c40 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 70 "><span.class="tok-kw">break</sp
11c60 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 63 an></span></code>,.<code><span.c
11c80 6c 61 73 73 3d 22 6c 69 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"
11ca0 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 65 3e 2c 20 >continue</span></span></code>,.
11cc0 3c 63 6f 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
11ce0 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 73 70 61 lass="tok-kw">return</span></spa
11d00 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 6c 69 n></code>,.<code><span.class="li
11d20 6e 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 65 61 63 68 ne"><span.class="tok-kw">unreach
11d40 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 2c 20 61 6e 64 20 3c able</span></span></code>,.and.<
11d60 63 6f 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
11d80 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
11da0 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>).{
11dc0 7d 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 }</span></code></td>.........</t
11de0 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 r>.........<tr>.............<th.
11e00 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
11e20 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 70 65 ine"><span.class="tok-type">type
11e40 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 20 </span></span></code></th>......
11e60 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 20 20 3c .....<td>(none)</td>...........<
11e80 74 64 3e 74 68 65 20 74 79 70 65 20 6f 66 20 74 79 70 65 73 3c 2f 74 64 3e 0a 20 20 20 20 20 20 td>the.type.of.types</td>.......
11ea0 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ..</tr>.........<tr>............
11ec0 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .<th.scope="row"><code><span.cla
11ee0 73 73 3d 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"
11f00 3e 61 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 3c 2f >anyerror</span></span></code></
11f20 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>...
11f40 20 20 20 20 20 20 20 20 3c 74 64 3e 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 3c 2f 74 64 3e 0a 20 ........<td>an.error.code</td>..
11f60 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>.......
11f80 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
11fa0 6e 20 63 6c 61 73 73 3d 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-
11fc0 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>
11fe0 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
12000 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4f 6e 6c 79 20 61 6c 6c 6f 77 65 )</td>...........<td>Only.allowe
12020 64 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 d.for.<a.href="#comptime">compti
12040 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 73 2e 20 54 68 65 20 74 79 70 65 20 6f 66 me</a>-known.values..The.type.of
12060 20 69 6e 74 65 67 65 72 20 6c 69 74 65 72 61 6c 73 2e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 .integer.literals.</td>.........
12080 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>.............<
120a0 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
120c0 3d 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 ="line"><span.class="tok-type">c
120e0 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 3e 3c 2f 63 6f 64 omptime_float</span></span></cod
12100 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 e></th>...........<td>(none)</td
12120 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 66 6f 72 >...........<td>Only.allowed.for
12140 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 .<a.href="#comptime">comptime</a
12160 3e 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 73 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 66 6c 6f 61 >-known.values..The.type.of.floa
12180 74 20 6c 69 74 65 72 61 6c 73 2e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 t.literals.</td>.........</tr>..
121a0 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 .......</tbody>.......</table>..
121c0 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 61 .....</div>.......<p>.......In.a
121e0 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 73 20 61 62 6f ddition.to.the.integer.types.abo
12200 76 65 2c 20 61 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 ve,.arbitrary.bit-width.integers
12220 20 63 61 6e 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 75 73 69 6e 67 0a 20 20 20 20 .can.be.referenced.by.using.....
12240 20 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 6f 66 20 3c 63 6f 64 65 3e 69 3c 2f 63 6f 64 65 ..an.identifier.of.<code>i</code
12260 3e 20 6f 72 20 3c 63 6f 64 65 3e 75 3c 2f 63 6f 64 65 3e 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 >.or.<code>u</code>.followed.by.
12280 64 69 67 69 74 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 69 64 65 6e 74 69 66 digits..For.example,.the.identif
122a0 69 65 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ier.......<code><span.class="lin
122c0 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 37 3c 2f 73 70 e"><span.class="tok-type">i7</sp
122e0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 6f 20 61 20 73 69 an></span></code>.refers.to.a.si
12300 67 6e 65 64 20 37 2d 62 69 74 20 69 6e 74 65 67 65 72 2e 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 gned.7-bit.integer..The.maximum.
12320 61 6c 6c 6f 77 65 64 20 62 69 74 2d 77 69 64 74 68 20 6f 66 20 61 6e 0a 20 20 20 20 20 20 69 6e allowed.bit-width.of.an.......in
12340 74 65 67 65 72 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 teger.type.is.<code><span.class=
12360 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 22 3e "line"><span.class="tok-number">
12380 36 35 35 33 35 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 65535</span></span></code>......
123a0 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
123c0 3e 0a 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
123e0 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 46 6c 6f 61 74 73 rs</a></li>.<li><a.href="#Floats
12400 22 3e 46 6c 6f 61 74 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 ">Floats</a></li>.<li><a.href="#
12420 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d void">void</a></li>.<li><a.href=
12440 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 6c 69 3e 3c 61 "#Errors">Errors</a></li>.<li><a
12460 20 68 72 65 66 3d 22 23 54 79 70 65 22 3e 40 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 .href="#Type">@Type</a></li>.</u
12480 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 50 72 69 6d 69 74 69 l>...............<h3.id="Primiti
124a0 76 65 2d 56 61 6c 75 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 ve-Values"><a.href="#toc-Primiti
124c0 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 20 ve-Values">Primitive.Values</a>.
124e0 3c 61 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 <a.class="hdr".href="#Primitive-
12500 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 64 69 76 20 Values">..</a></h3>........<div.
12520 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 class="table-wrapper">.......<ta
12540 62 6c 65 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 ble>.........<caption>Primitive.
12560 56 61 6c 75 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 Values</caption>.........<thead>
12580 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
125a0 65 3d 22 63 6f 6c 22 3e 4e 61 6d 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 e="col">Name</th>...........<th.
125c0 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 scope="col">Description</th>....
125e0 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 .....</tr>.........</thead>.....
12600 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 ....<tbody>.........<tr>........
12620 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
12640 20 63 6c 61 73 73 3d 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
12660 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 61 ull">true</span></span></code>.a
12680 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 73 70 61 nd.<code><span.class="line"><spa
126a0 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 3c n.class="tok-null">false</span><
126c0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c /span></code></th>.............<
126e0 74 64 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 td><code><span.class="line"><spa
12700 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 3c 2f n.class="tok-type">bool</span></
12720 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 6c 75 65 73 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 span></code>.values</td>........
12740 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>.............
12760 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
12780 73 3d 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">
127a0 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 3c 2f 74 68 3e 0a 20 null</span></span></code></th>..
127c0 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 73 65 64 20 74 6f 20 73 65 74 20 61 6e 20 6f 70 ...........<td>used.to.set.an.op
127e0 74 69 6f 6e 61 6c 20 74 79 70 65 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 tional.type.to.<code><span.class
12800 3d 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 6e ="line"><span.class="tok-null">n
12820 75 6c 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 64 3e 0a 20 20 ull</span></span></code></td>...
12840 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>........
12860 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
12880 20 63 6c 61 73 73 3d 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
128a0 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 6f ull">undefined</span></span></co
128c0 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 73 65 64 20 74 6f 20 6c de></th>...........<td>used.to.l
128e0 65 61 76 65 20 61 20 76 61 6c 75 65 20 75 6e 73 70 65 63 69 66 69 65 64 3c 2f 74 64 3e 0a 20 20 eave.a.value.unspecified</td>...
12900 20 20 20 20 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 ......</tr>.........</tbody>....
12920 20 20 20 3c 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 ...</table>.......</div>.......<
12940 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=
12960 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 3e 0a "#Optionals">Optionals</a></li>.
12980 3c 6c 69 3e 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 6e <li><a.href="#undefined">undefin
129a0 65 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 20 20 20 20 20 20 ed</a></li>.</ul>...............
129c0 3c 68 33 20 69 64 3d 22 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 <h3.id="String-Literals-and-Unic
129e0 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 3c 61 20 68 72 65 66 ode-Code-Point-Literals"><a.href
12a00 3d 22 23 74 6f 63 2d 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 ="#toc-String-Literals-and-Unico
12a20 64 65 2d 43 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 de-Code-Point-Literals">String.L
12a40 69 74 65 72 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 iterals.and.Unicode.Code.Point.L
12a60 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=
12a80 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 43 6f "#String-Literals-and-Unicode-Co
12aa0 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a de-Point-Literals">..</a></h3>..
12ac0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 ......<p>.......String.literals.
12ae0 61 72 65 20 63 6f 6e 73 74 61 6e 74 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 3c 61 20 68 72 65 66 are.constant.single-item.<a.href
12b00 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 6e 75 6c ="#Pointers">Pointers</a>.to.nul
12b20 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 62 79 74 65 20 61 72 72 61 79 73 2e 0a 20 20 20 20 20 20 l-terminated.byte.arrays........
12b40 54 68 65 20 74 79 70 65 20 6f 66 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 65 6e 63 6f The.type.of.string.literals.enco
12b60 64 65 73 20 62 6f 74 68 20 74 68 65 20 6c 65 6e 67 74 68 2c 20 61 6e 64 20 74 68 65 20 66 61 63 des.both.the.length,.and.the.fac
12b80 74 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 2c t.that.they.are.null-terminated,
12ba0 0a 20 20 20 20 20 20 61 6e 64 20 74 68 75 73 20 74 68 65 79 20 63 61 6e 20 62 65 20 3c 61 20 68 .......and.thus.they.can.be.<a.h
12bc0 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 3e ref="#Type-Coercion">coerced</a>
12be0 20 74 6f 20 62 6f 74 68 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 .to.both.<a.href="#Slices">Slice
12c00 73 3c 2f 61 3e 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e s</a>.and.......<a.href="#Sentin
12c20 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 4e 75 6c 6c 2d 54 65 72 el-Terminated-Pointers">Null-Ter
12c40 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 44 65 72 65 minated.Pointers</a>........Dere
12c60 66 65 72 65 6e 63 69 6e 67 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 63 6f 6e 76 65 72 ferencing.string.literals.conver
12c80 74 73 20 74 68 65 6d 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 ts.them.to.<a.href="#Arrays">Arr
12ca0 61 79 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 ays</a>........</p>.......<p>...
12cc0 20 20 20 20 54 68 65 20 65 6e 63 6f 64 69 6e 67 20 6f 66 20 61 20 73 74 72 69 6e 67 20 69 6e 20 ....The.encoding.of.a.string.in.
12ce0 5a 69 67 20 69 73 20 64 65 2d 66 61 63 74 6f 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 55 54 Zig.is.de-facto.assumed.to.be.UT
12d00 46 2d 38 2e 0a 20 20 20 20 20 20 42 65 63 61 75 73 65 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f F-8........Because.Zig.source.co
12d20 64 65 20 69 73 20 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 de.is.<a.href="#Source-Encoding"
12d40 3e 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 3c 2f 61 3e 2c 20 61 6e 79 20 6e 6f 6e 2d 41 53 43 49 >UTF-8.encoded</a>,.any.non-ASCI
12d60 49 20 62 79 74 65 73 20 61 70 70 65 61 72 69 6e 67 20 77 69 74 68 69 6e 20 61 20 73 74 72 69 6e I.bytes.appearing.within.a.strin
12d80 67 20 6c 69 74 65 72 61 6c 0a 20 20 20 20 20 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 g.literal.......in.source.code.c
12da0 61 72 72 79 20 74 68 65 69 72 20 55 54 46 2d 38 20 6d 65 61 6e 69 6e 67 20 69 6e 74 6f 20 74 68 arry.their.UTF-8.meaning.into.th
12dc0 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 69 6e 20 74 68 65 20 5a e.content.of.the.string.in.the.Z
12de0 69 67 20 70 72 6f 67 72 61 6d 3b 0a 20 20 20 20 20 20 74 68 65 20 62 79 74 65 73 20 61 72 65 20 ig.program;.......the.bytes.are.
12e00 6e 6f 74 20 6d 6f 64 69 66 69 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2e 0a 20 20 not.modified.by.the.compiler....
12e20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 65 ....However,.it.is.possible.to.e
12e40 6d 62 65 64 20 6e 6f 6e 2d 55 54 46 2d 38 20 62 79 74 65 73 20 69 6e 74 6f 20 61 20 73 74 72 69 mbed.non-UTF-8.bytes.into.a.stri
12e60 6e 67 20 6c 69 74 65 72 61 6c 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 5c 78 4e 4e 3c 2f 63 6f 64 ng.literal.using.<code>\xNN</cod
12e80 65 3e 20 6e 6f 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 e>.notation........</p>.......<p
12ea0 3e 0a 20 20 20 20 20 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 6c 69 74 65 72 >.......Unicode.code.point.liter
12ec0 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 20 63 6c 61 73 73 3d als.have.type.<code><span.class=
12ee0 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
12f00 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 2c mptime_int</span></span></code>,
12f20 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 .the.same.as.......<a.href="#Int
12f40 65 67 65 72 2d 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 eger-Literals">Integer.Literals<
12f60 2f 61 3e 2e 20 41 6c 6c 20 3c 61 20 68 72 65 66 3d 22 23 45 73 63 61 70 65 2d 53 65 71 75 65 6e /a>..All.<a.href="#Escape-Sequen
12f80 63 65 73 22 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 73 3c 2f 61 3e 20 61 72 65 20 76 61 ces">Escape.Sequences</a>.are.va
12fa0 6c 69 64 20 69 6e 20 62 6f 74 68 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 20 lid.in.both.string.literals.....
12fc0 20 20 61 6e 64 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 6c 69 74 65 72 61 6c ..and.Unicode.code.point.literal
12fe0 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 49 6e s........</p>.......<p>.......In
13000 20 6d 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 .many.other.programming.language
13020 73 2c 20 61 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 6c 69 74 65 72 61 6c 20 s,.a.Unicode.code.point.literal.
13040 69 73 20 63 61 6c 6c 65 64 20 61 20 22 63 68 61 72 61 63 74 65 72 20 6c 69 74 65 72 61 6c 22 2e is.called.a."character.literal".
13060 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 74 68 65 72 65 20 69 73 20 3c 61 20 68 72 65 66 .......However,.there.is.<a.href
13080 3d 22 68 74 74 70 73 3a 2f 2f 75 6e 69 63 6f 64 65 2e 6f 72 67 2f 67 6c 6f 73 73 61 72 79 22 3e ="https://unicode.org/glossary">
130a0 6e 6f 20 70 72 65 63 69 73 65 20 74 65 63 68 6e 69 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 20 no.precise.technical.definition.
130c0 6f 66 20 61 20 22 63 68 61 72 61 63 74 65 72 22 3c 2f 61 3e 0a 20 20 20 20 20 20 69 6e 20 72 65 of.a."character"</a>.......in.re
130e0 63 65 6e 74 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 55 6e 69 63 6f 64 65 20 73 70 65 cent.versions.of.the.Unicode.spe
13100 63 69 66 69 63 61 74 69 6f 6e 20 28 61 73 20 6f 66 20 55 6e 69 63 6f 64 65 20 31 33 2e 30 29 2e cification.(as.of.Unicode.13.0).
13120 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 61 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f .......In.Zig,.a.Unicode.code.po
13140 69 6e 74 20 6c 69 74 65 72 61 6c 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 55 int.literal.corresponds.to.the.U
13160 6e 69 63 6f 64 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 61 20 63 6f 64 65 20 70 6f 69 6e nicode.definition.of.a.code.poin
13180 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 t........</p>.......<figure><fig
131a0 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
131c0 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f ass="file">string_literals.zig</
131e0 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
13200 61 6e 20 63 6c 61 73 73 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
13220 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 20 -kw">const</span>.print.=.<span.
13240 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
13260 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
13280 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 73 td&quot;</span>).debug.print;</s
132a0 70 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
132c0 61 73 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.=.
132e0 3c 73 70 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
13300 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">&
13320 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 20 3c 73 70 61 quot;std&quot;</span>).mem;.<spa
13340 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 69 6c 6c 20 62 65 n.class="tok-comment">//.will.be
13360 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 79 74 65 73 3c 2f 73 70 61 6e 3e 3c 2f 73 .used.to.compare.bytes</span></s
13380 70 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>.
133a0 3c 73 70 61 6e 20 63 6c 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="
133c0 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="
133e0 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
13400 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
13420 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>
13440 0a 3c 73 70 61 6e 20 63 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
13460 61 73 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 ass="tok-kw">const</span>.bytes.
13480 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 68 65 =.<span.class="tok-str">&quot;he
134a0 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 20 63 llo&quot;</span>;</span>.<span.c
134c0 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 6c 61 73 lass="line">....print(<span.clas
134e0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 s="tok-str">&quot;{s}\n&quot;</s
13500 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e pan>,..{<span.class="tok-builtin
13520 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 22 ">@typeName</span>(<span.class="
13540 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 62 79 74 65 tok-builtin">@TypeOf</span>(byte
13560 73 29 29 7d 29 3b 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 s))});.......<span.class="tok-co
13580 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 2f 73 70 61 6e 3e 3c mment">//.*const.[5:0]u8</span><
135a0 2f 73 70 61 6e 3e 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
135c0 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;
135e0 7b 64 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 2e 6c 65 6e 7d {d}\n&quot;</span>,..{bytes.len}
13600 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 );.......................<span.c
13620 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 35 3c 2f 73 70 61 6e 3e 3c 2f lass="tok-comment">//.5</span></
13640 73 70 61 6e 3e 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
13660 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b nt(<span.class="tok-str">&quot;{
13680 63 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 5b 3c 73 70 61 6e c}\n&quot;</span>,..{bytes[<span
136a0 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 7d 29 3b .class="tok-number">1</span>]});
136c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c ........................<span.cl
136e0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 27 65 27 3c 2f 73 70 61 6e 3e 3c ass="tok-comment">//.'e'</span><
13700 2f 73 70 61 6e 3e 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
13720 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;
13740 7b 64 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 5b 3c 73 70 61 {d}\n&quot;</span>,..{bytes[<spa
13760 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 7d 29 n.class="tok-number">5</span>]})
13780 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 ;........................<span.c
137a0 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 73 70 61 6e 3e 3c 2f lass="tok-comment">//.0</span></
137c0 73 70 61 6e 3e 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
137e0 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b nt(<span.class="tok-str">&quot;{
13800 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 61 73 73 3d }\n&quot;</span>,..{<span.class=
13820 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 73 70 61 6e 20 63 6c "tok-str">'e'</span>.==.<span.cl
13840 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 6e 3e 7d 29 3b 20 20 ass="tok-str">'\x65'</span>});..
13860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ..................<span.class="t
13880 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 3e 3c 2f 73 70 61 6e ok-comment">//.true</span></span
138a0 3e 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(<
138c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 5c 6e span.class="tok-str">&quot;{d}\n
138e0 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
13900 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 7d 29 3b 20 20 20 20 k-str">'\u{1f4a9}'</span>});....
13920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .................<span.class="to
13940 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 6e 3e 3c 2f 73 70 61 k-comment">//.128169</span></spa
13960 6e 3e 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 n>.<span.class="line">....print(
13980 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 5c <span.class="tok-str">&quot;{d}\
139a0 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 61 73 73 3d 22 74 n&quot;</span>,..{<span.class="t
139c0 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 20 20 20 20 20 20 20 ok-str">'....'</span>});........
139e0 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=
13a00 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 73 70 61 6e 3e 3c 2f "tok-comment">//.128175</span></
13a20 73 70 61 6e 3e 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
13a40 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b nt(<span.class="tok-str">&quot;{
13a60 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 73 70 61 }\n&quot;</span>,..{mem.eql(<spa
13a80 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 73 n.class="tok-type">u8</span>,.<s
13aa0 70 61 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&
13ac0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 quot;</span>,.<span.class="tok-s
13ae0 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 6e 3e 29 tr">&quot;h\x65llo&quot;</span>)
13b00 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f });.<span.class="tok-comment">//
13b20 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 73 3d .true</span></span>.<span.class=
13b40 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
13b60 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
13b80 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 >,..{<span.class="tok-str">&quot
13ba0 3b 5c 78 66 66 26 71 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 ;\xff&quot;</span>[<span.class="
13bc0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 20 3c 73 70 61 6e 20 63 tok-number">0</span>]});.<span.c
13be0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 6e 2d 55 54 46 2d 38 20 lass="tok-comment">//.non-UTF-8.
13c00 73 74 72 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 strings.are.possible.with.\xNN.n
13c20 6f 74 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 otation.</span></span>.<span.cla
13c40 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 3d ss="line">....print(<span.class=
13c60 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 75 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 "tok-str">&quot;{u}\n&quot;</spa
13c80 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 e2 9a a1 n>,..{<span.class="tok-str">'...
13ca0 27 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 3d 22 '</span>});</span>.<span.class="
13cc0 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
13ce0 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
13d00 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
13d20 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
13d40 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 2e 7a >zig.build-exe.string_literals.z
13d60 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
13d80 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 24 20 e"></span>.<span.class="line">$.
13da0 3c 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 3c 2f 73 70 <kbd>./string_literals</kbd></sp
13dc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 63 6f 6e 73 74 20 5b 35 an>.<span.class="line">*const.[5
13de0 3a 30 5d 75 38 3c 2f 73 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]u8</span>.<span.class="line">
13e00 35 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 3c 2f 73 5</span>.<span.class="line">e</s
13e20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 30 3c 2f 73 70 61 6e 3e pan>.<span.class="line">0</span>
13e40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 0a .<span.class="line">true</span>.
13e60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 32 38 31 36 39 3c 2f 73 70 61 6e 3e <span.class="line">128169</span>
13e80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 32 38 31 37 35 3c 2f 73 70 61 6e .<span.class="line">128175</span
13ea0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e >.<span.class="line">true</span>
13ec0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 30 78 66 66 3c 2f 73 70 61 6e 3e 0a .<span.class="line">0xff</span>.
13ee0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e e2 9a a1 3c 2f 73 70 61 6e 3e 0a 3c 2f <span.class="line">...</span>.</
13f00 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 samp></pre></figure>.......<p>Se
13f20 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 41 72 e.also:</p><ul>.<li><a.href="#Ar
13f40 72 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 rays">Arrays</a></li>.<li><a.hre
13f60 66 3d 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 f="#Source-Encoding">Source.Enco
13f80 64 69 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 ding</a></li>.</ul>........<h4.i
13fa0 64 3d 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 d="Escape-Sequences"><a.href="#t
13fc0 6f 63 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 oc-Escape-Sequences">Escape.Sequ
13fe0 65 6e 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 ences</a>.<a.class="hdr".href="#
14000 45 73 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 Escape-Sequences">..</a></h4>...
14020 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e .....<div.class="table-wrapper">
14040 0a 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 .......<table>.........<caption>
14060 45 73 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 Escape.Sequences</caption>......
14080 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 20 20 ...<thead>.........<tr>.........
140a0 20 20 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 ..<th.scope="col">Escape.Sequenc
140c0 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 e</th>...........<th.scope="col"
140e0 3e 4e 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 >Name</th>.........</tr>........
14100 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 20 .</thead>.........<tbody>.......
14120 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
14140 77 22 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 w"><code>\n</code></th>.........
14160 20 20 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 ..<td>Newline</td>.........</tr>
14180 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
141a0 6f 70 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 ope="row"><code>\r</code></th>..
141c0 20 20 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 .........<td>Carriage.Return</td
141e0 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>....
14200 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 5c .........<th.scope="row"><code>\
14220 74 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 54 61 62 3c t</code></th>...........<td>Tab<
14240 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>.
14260 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
14280 65 3e 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 e>\\</code></th>...........<td>B
142a0 61 63 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 ackslash</td>.........</tr>.....
142c0 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="
142e0 72 6f 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 row"><code>\'</code></th>.......
14300 20 20 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 ....<td>Single.Quote</td>.......
14320 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ..</tr>.........<tr>............
14340 20 3c 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 .<th.scope="row"><code>\"</code>
14360 3c 2f 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 </th>...........<td>Double.Quote
14380 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>
143a0 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
143c0 64 65 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 de>\xNN</code></th>...........<t
143e0 64 3e 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 d>hexadecimal.8-bit.byte.value.(
14400 32 20 64 69 67 69 74 73 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 2.digits)</td>.........</tr>....
14420 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=
14440 22 72 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 "row"><code>\u{NNNNNN}</code></t
14460 68 3e 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 h>...........<td>hexadecimal.Uni
14480 63 6f 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 code.code.point.UTF-8.encoded.(1
144a0 20 6f 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 .or.more.digits)</td>.........</
144c0 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 62 tr>.........</tbody>.......</tab
144e0 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 4e 6f 74 65 20 74 le>.......</div>.......<p>Note.t
14500 68 61 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 hat.the.maximum.valid.Unicode.po
14520 69 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 int.is.<code><span.class="line">
14540 3c 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 30 66 66 66 <span.class="tok-number">0x10fff
14560 66 3c 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 f</span></span></code>.</p>.....
14580 20 20 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 .........<h4.id="Multiline-Strin
145a0 67 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 4d 75 6c 74 69 6c g-Literals"><a.href="#toc-Multil
145c0 69 6e 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 ine-String-Literals">Multiline.S
145e0 74 72 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 tring.Literals</a>.<a.class="hdr
14600 22 20 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 ".href="#Multiline-String-Litera
14620 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ls">..</a></h4>........<p>......
14640 20 4d 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 .Multiline.string.literals.have.
14660 6e 6f 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 no.escapes.and.can.span.across.m
14680 75 6c 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 ultiple.lines........To.start.a.
146a0 6d 75 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 multiline.string.literal,.use.th
146c0 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
146e0 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 3e 3c 2f 73 70 61 6e .class="tok-str">\\</span></span
14700 3e 3c 2f 63 6f 64 65 3e 20 74 6f 6b 65 6e 2e 20 4a 75 73 74 20 6c 69 6b 65 20 61 20 63 6f 6d 6d ></code>.token..Just.like.a.comm
14720 65 6e 74 2c 0a 20 20 20 20 20 20 74 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 67 6f ent,.......the.string.literal.go
14740 65 73 20 75 6e 74 69 6c 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 20 54 68 es.until.the.end.of.the.line..Th
14760 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 20 69 73 0a 20 20 20 20 20 20 6e 6f 74 20 69 e.end.of.the.line.is.......not.i
14780 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2e 0a 20 ncluded.in.the.string.literal...
147a0 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 6e 65 78 74 20 6c 69 6e 65 20 62 .....However,.if.the.next.line.b
147c0 65 67 69 6e 73 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 egins.with.<code><span.class="li
147e0 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 5c 5c 3c 2f 73 70 ne"><span.class="tok-str">\\</sp
14800 61 6e 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 an></span></code>.then.a.newline
14820 20 69 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 .is.appended.and.......the.strin
14840 67 20 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 g.literal.continues........</p>.
14860 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=
14880 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 6d 75 6c "zig-cap"><cite.class="file">mul
148a0 74 69 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 tiline_string_literals.zig</cite
148c0 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
148e0 6c 61 73 73 3d 22 6c 69 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"
14900 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 5f 69 6e 5f 63 20 3d >const</span>.hello_world_in_c.=
14920 3c 2f 73 70 61 6e 3e 0a 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">....<
14940 73 70 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 span.class="tok-str">\\#include.
14960 26 6c 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 &lt;stdio.h&gt;</span></span>.<s
14980 70 61 6e 20 63 6c 61 73 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
149a0 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 0a 3c 73 70 61 ="tok-str">\\</span></span>.<spa
149c0 6e 20 63 6c 61 73 73 3d 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="
149e0 74 6f 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 tok-str">\\int.main(int.argc,.ch
14a00 61 72 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 ar.**argv).{</span></span>.<span
14a20 20 63 6c 61 73 73 3d 22 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
14a40 6f 6b 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 ok-str">\\....printf(&quot;hello
14a60 20 77 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 .world\n&quot;);</span></span>.<
14a80 73 70 61 6e 20 63 6c 61 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
14aa0 73 3d 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 s="tok-str">\\....return.0;</spa
14ac0 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">...
14ae0 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 7d 3c 2f 73 70 61 6e .<span.class="tok-str">\\}</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 3b 3c 2f 73 ></span>.<span.class="line">;</s
14b20 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>......
14b40 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
14b60 66 3d 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 f="#embedFile">@embedFile</a></l
14b80 69 3e 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 i>.</ul>......................<h
14ba0 33 20 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 3.id="Assignment"><a.href="#toc-
14bc0 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 20 3c 61 20 63 6c Assignment">Assignment</a>.<a.cl
14be0 61 73 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 ass="hdr".href="#Assignment">..<
14c00 2f 61 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 /a></h3>........<p>Use.the.<code
14c20 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=
14c40 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
14c60 64 65 3e 20 6b 65 79 77 6f 72 64 20 74 6f 20 61 73 73 69 67 6e 20 61 20 76 61 6c 75 65 20 74 6f de>.keyword.to.assign.a.value.to
14c80 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 .an.identifier:</p>.......<figur
14ca0 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
14cc0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e 74 69 ite.class="file">constant_identi
14ce0 66 69 65 72 5f 63 61 6e 6e 6f 74 5f 63 68 61 6e 67 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 fier_cannot_change.zig</cite></f
14d00 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
14d20 3d 22 6c 69 6e 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
14d40 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e st</span>.x.=.<span.class="tok-n
14d60 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 6e umber">1234</span>;</span>.<span
14d80 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
14da0 73 3d 22 6c 69 6e 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
14dc0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f </span>.<span.class="tok-fn">foo
14de0 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"
14e00 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
14e20 73 3d 22 6c 69 6e 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
14e40 6d 6d 65 6e 74 22 3e 2f 2f 20 49 74 20 77 6f 72 6b 73 20 61 74 20 66 69 6c 65 20 73 63 6f 70 65 mment">//.It.works.at.file.scope
14e60 20 61 73 20 77 65 6c 6c 20 61 73 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 73 .as.well.as.inside.functions.</s
14e80 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">.
14ea0 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
14ec0 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 pan>.y.=.<span.class="tok-number
14ee0 22 3e 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 ">5678</span>;</span>.<span.clas
14f00 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
14f20 6e 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
14f40 22 3e 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 ">//.Once.assigned,.an.identifie
14f60 72 20 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 r.cannot.be.changed.</span></spa
14f80 6e 3e 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 n>.<span.class="line">....y.+=.<
14fa0 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>
14fc0 3b 3c 2f 73 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
14fe0 70 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>.
15000 3c 73 70 61 6e 20 63 6c 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="
15020 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="
15040 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
15060 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
15080 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>
150a0 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 29 3b 3c 2f .<span.class="line">....foo();</
150c0 73 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
150e0 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><
15100 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
15120 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 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
15140 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 class="line">$.<kbd>zig.build-ex
15160 65 20 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e 74 69 66 69 65 72 5f 63 61 6e 6e 6f 74 5f 63 68 61 e.constant_identifier_cannot_cha
15180 6e 67 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 nge.zig</kbd></span>.<span.class
151a0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 ="line"><span.class="t0_1">./doc
151c0 67 65 6e 5f 74 6d 70 2f 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e 74 69 66 69 65 72 5f 63 61 6e 6e gen_tmp/constant_identifier_cann
151e0 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 3c 73 70 61 6e 20 ot_change.zig:8:7:.</span><span.
15200 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 class="t31_1">error:.</span><spa
15220 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6e 6e 6f 74 20 61 73 73 69 67 6e 20 74 6f 20 n.class="t0_1">cannot.assign.to.
15240 63 6f 6e 73 74 61 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 constant</span></span>.<span.cla
15260 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 20 2b 3d 20 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ss="line">....y.+=.1;</span>.<sp
15280 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 an.class="line">......<span.clas
152a0 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 s="t32_1">^</span></span>.</samp
152c0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e ></pre></figure>.......<p><code>
152e0 3c 73 70 61 6e 20 63 6c 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="
15300 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
15320 65 3e 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6c 6c 20 6f 66 20 74 68 65 20 62 79 74 65 73 20 74 e>.applies.to.all.of.the.bytes.t
15340 68 61 74 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 hat.the.identifier.immediately.a
15360 64 64 72 65 73 73 65 73 2e 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f ddresses..<a.href="#Pointers">Po
15380 69 6e 74 65 72 73 3c 2f 61 3e 20 68 61 76 65 20 74 68 65 69 72 20 6f 77 6e 20 63 6f 6e 73 74 2d inters</a>.have.their.own.const-
153a0 6e 65 73 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 49 66 20 79 6f 75 20 6e 65 65 64 20 61 ness.</p>.......<p>If.you.need.a
153c0 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 6d 6f 64 69 66 79 2c 20 75 .variable.that.you.can.modify,.u
153e0 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 6e 65 22 3e se.the.<code><span.class="line">
15400 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 3c <span.class="tok-kw">var</span><
15420 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 /span></code>.keyword:</p>......
15440 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-
15460 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 74 61 62 6c 65 5f cap"><cite.class="file">mutable_
15480 76 61 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 var.zig</cite></figcaption><pre>
154a0 3c 63 6f 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
154c0 6c 61 73 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 lass="tok-kw">const</span>.print
154e0 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
15500 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
15520 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e ">&quot;std&quot;</span>).debug.
15540 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 69 6e 65 22 print;</span>.<span.class="line"
15560 3e 3c 2f 73 70 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
15580 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
155a0 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
155c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 .class="tok-fn">main</span>().<s
155e0 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>
15600 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">...
15620 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>
15640 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 33 32 3c 2f .y:.<span.class="tok-type">i32</
15660 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"
15680 3e 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 >5678</span>;</span>.<span.class
156a0 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
156c0 65 22 3e 20 20 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 e">....y.+=.<span.class="tok-num
156e0 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 73 ber">1</span>;</span>.<span.clas
15700 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
15720 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
15740 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 79 7d tr">&quot;{d}&quot;</span>,..{y}
15760 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">}</
15780 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
157a0 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"
157c0 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 3c 73 >Shell</figcaption><pre><samp><s
157e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c pan.class="line">$.<kbd>zig.buil
15800 64 2d 65 78 65 20 6d 75 74 61 62 6c 65 5f 76 61 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 d-exe.mutable_var.zig</kbd></spa
15820 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
15840 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 6d 75 74 61 62 6c pan.class="line">$.<kbd>./mutabl
15860 65 5f 76 61 72 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e_var</kbd></span>.<span.class="
15880 6c 69 6e 65 22 3e 35 36 37 39 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c line">5679</span>.</samp></pre><
158a0 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 65 73 20 6d 75 73 74 /figure>.......<p>Variables.must
158c0 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 20 20 3c 66 69 67 75 .be.initialized:</p>.......<figu
158e0 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"><
15900 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 74 5f 62 65 5f 69 6e cite.class="file">var_must_be_in
15920 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 63 61 70 74 69 6f 6e itialized.zig</cite></figcaption
15940 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"><
15960 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>.<
15980 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
159a0 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>()
159c0 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
159e0 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">
15a00 20 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
15a20 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 33 an>.x:.<span.class="tok-type">i3
15a40 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 69 2</span>;</span>.<span.class="li
15a60 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">.
15a80 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 75 6d 62 65 72 22 3e ...x.=.<span.class="tok-number">
15aa0 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
15ac0 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
15ae0 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
15b00 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><
15b20 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a samp><span.class="line">$.<kbd>z
15b40 69 67 20 62 75 69 6c 64 2d 65 78 65 20 76 61 72 5f 6d 75 73 74 5f 62 65 5f 69 6e 69 74 69 61 6c ig.build-exe.var_must_be_initial
15b60 69 7a 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ized.zig</kbd></span>.<span.clas
15b80 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 s="line"><span.class="t1_0">docg
15ba0 65 6e 5f 74 6d 70 2f 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 en_tmp/var_must_be_initialized.z
15bc0 69 67 3a 32 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f ig:2:5:.</span><span.class="t31_
15be0 31 22 3e 65 72 72 6f 72 3a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 1">error:</span><span.class="t1_
15c00 30 22 3e 20 76 61 72 69 61 62 6c 65 73 20 6d 75 73 74 20 62 65 20 69 6e 69 74 69 61 6c 69 7a 65 0">.variables.must.be.initialize
15c20 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 3c 2f 73 70 d</span>.<span.class="line"></sp
15c40 61 6e 3e 20 20 20 20 76 61 72 20 78 3a 20 69 33 32 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 an>....var.x:.i32;</span>.<span.
15c60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 class="line">....<span.class="t3
15c80 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 2_1">^</span>.<span.class="line"
15ca0 3e 3c 2f 73 70 61 6e 3e 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></span>.</samp></pre></f
15cc0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 75 6e 64 65 66 69 6e 65 64 22 3e igure>.......<h4.id="undefined">
15ce0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e <a.href="#toc-undefined">undefin
15d00 65 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 75 6e 64 ed</a>.<a.class="hdr".href="#und
15d20 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 55 73 efined">..</a></h4>........<p>Us
15d40 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
15d60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 .class="tok-null">undefined</spa
15d80 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 6c 65 61 76 65 20 76 61 72 69 61 62 n></span></code>.to.leave.variab
15da0 6c 65 73 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 les.uninitialized:</p>.......<fi
15dc0 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"
15de0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 73 69 67 6e 5f 75 6e 64 65 66 ><cite.class="file">assign_undef
15e00 69 6e 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 ined.zig</cite></figcaption><pre
15e20 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.
15e40 63 6c 61 73 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 class="tok-kw">const</span>.prin
15e60 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 t.=.<span.class="tok-builtin">@i
15e80 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
15ea0 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 r">&quot;std&quot;</span>).debug
15ec0 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 69 6e 65 .print;</span>.<span.class="line
15ee0 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
15f00 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
15f20 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
15f40 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>().<
15f60 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
15f80 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">..
15fa0 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
15fc0 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 33 32 3c >.x:.<span.class="tok-type">i32<
15fe0 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e /span>.=.<span.class="tok-null">
16000 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 70 61 6e 20 63 undefined</span>;</span>.<span.c
16020 6c 61 73 73 3d 22 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 lass="line">....x.=.<span.class=
16040 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
16060 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
16080 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 6f 74 3b .class="tok-str">&quot;{d}&quot;
160a0 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 78 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 </span>,..{x});</span>.<span.cla
160c0 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><
160e0 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
16100 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>
16120 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
16140 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 61 73 73 69 67 6e 5f 75 6e 64 65 66 69 <kbd>zig.build-exe.assign_undefi
16160 6e 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ned.zig</kbd></span>.<span.class
16180 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
161a0 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 61 73 73 69 67 6e 5f 75 6e 64 65 66 69 6e 65 64 3c 2f 6b 62 e">$.<kbd>./assign_undefined</kb
161c0 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 3c 2f d></span>.<span.class="line">1</
161e0 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>....
16200 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="
16220 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
16240 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 6e 20 efined</span></span></code>.can.
16260 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 65 72 be.<a.href="#Type-Coercion">coer
16280 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 20 4f ced</a>.to.any.type............O
162a0 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 67 65 nce.this.happens,.it.is.no.longe
162c0 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 76 61 r.possible.to.detect.that.the.va
162e0 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 22 3e lue.is.<code><span.class="line">
16300 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
16320 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 20 20 </span></span></code>...........
16340 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
16360 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 2f pan.class="tok-null">undefined</
16380 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 76 61 span></span></code>.means.the.va
163a0 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 6d 65 lue.could.be.anything,.even.some
163c0 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 20 20 thing.that.is.nonsense..........
163e0 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 2e 20 .........according.to.the.type..
16400 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 3e 3c Translated.into.English,.<code><
16420 73 70 61 6e 20 63 6c 61 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
16440 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 6e 3e ok-null">undefined</span></span>
16460 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 6c 0a </code>.means."Not.a.meaningful.
16480 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 77 6f ......value..Using.this.value.wo
164a0 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 65 20 uld.be.a.bug..The.value.will.be.
164c0 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 62 65 unused,.or.overwritten.before.be
164e0 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 3e 0a ing.used.".......</p>.......<p>.
16500 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 67 3c ......In.<a.href="#Debug">Debug<
16520 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 61 6e /a>.mode,.Zig.writes.<code><span
16540 20 63 6c 61 73 73 3d 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
16560 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 65 3e umber">0xaa</span></span></code>
16580 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 69 73 .bytes.to.undefined.memory..This
165a0 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 20 61 .is.to.catch.......bugs.early,.a
165c0 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 69 6e nd.to.help.detect.use.of.undefin
165e0 65 64 20 6d 65 6d 6f 72 79 20 69 6e 20 61 20 64 65 62 75 67 67 65 72 2e 0a 20 20 20 20 20 20 3c ed.memory.in.a.debugger........<
16600 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c /p>............................<
16620 68 32 20 69 64 3d 22 5a 69 67 2d 54 65 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a h2.id="Zig-Test"><a.href="#toc-Z
16640 69 67 2d 54 65 73 74 22 3e 5a 69 67 20 54 65 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 ig-Test">Zig.Test</a>.<a.class="
16660 68 64 72 22 20 68 72 65 66 3d 22 23 5a 69 67 2d 54 65 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 hdr".href="#Zig-Test">..</a></h2
16680 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 43 6f 64 65 20 77 72 69 74 74 65 >........<p>.........Code.writte
166a0 6e 20 77 69 74 68 69 6e 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e n.within.one.or.more.<code><span
166c0 20 63 6c 61 73 73 3d 22 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
166e0 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 64 65 63 w">test</span></span></code>.dec
16700 6c 61 72 61 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 65 6e 73 75 72 65 20 larations.can.be.used.to.ensure.
16720 62 65 68 61 76 69 6f 72 20 6d 65 65 74 73 20 65 78 70 65 63 74 61 74 69 6f 6e 73 3a 0a 20 20 20 behavior.meets.expectations:....
16740 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
16760 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
16780 69 6c 65 22 3e 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 67 3c 2f 63 ile">introducing_zig_test.zig</c
167a0 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
167c0 6e 20 63 6c 61 73 73 3d 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-
167e0 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
16800 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>(
16820 3c 73 70 61 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&
16840 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
16860 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
16880 6e 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
168a0 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
168c0 3b 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 20 6f 6e 65 20 74 6f 20 34 31 26 71 75 ;expect.addOne.adds.one.to.41&qu
168e0 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=
16900 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
16920 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">
16940 2f 2f 20 54 68 65 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 //.The.Standard.Library.contains
16960 20 75 73 65 66 75 6c 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 68 65 6c 70 20 63 72 65 61 74 65 .useful.functions.to.help.create
16980 20 74 65 73 74 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 .tests.</span></span>.<span.clas
169a0 73 3d 22 6c 69 6e 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
169c0 6d 6d 65 6e 74 22 3e 2f 2f 20 60 65 78 70 65 63 74 60 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e mment">//.`expect`.is.a.function
169e0 20 74 68 61 74 20 76 65 72 69 66 69 65 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 .that.verifies.its.argument.is.t
16a00 72 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 73 73 3d 22 rue.</span></span>.<span.class="
16a20 6c 69 6e 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
16a40 6e 74 22 3e 2f 2f 20 49 74 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 69 nt">//.It.will.return.an.error.i
16a60 66 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 66 61 6c 73 65 20 74 6f 20 69 6e 64 69 63 f.its.argument.is.false.to.indic
16a80 61 74 65 20 61 20 66 61 69 6c 75 72 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ate.a.failure.</span></span>.<sp
16aa0 61 6e 20 63 6c 61 73 73 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=
16ac0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 74 72 79 60 20 69 73 20 75 73 65 64 20 74 "tok-comment">//.`try`.is.used.t
16ae0 6f 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 74 6f 20 74 68 65 20 74 65 73 74 20 72 75 o.return.an.error.to.the.test.ru
16b00 6e 6e 65 72 20 74 6f 20 6e 6f 74 69 66 79 20 69 74 20 74 68 61 74 20 74 68 65 20 74 65 73 74 20 nner.to.notify.it.that.the.test.
16b20 66 61 69 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 63 6c 61 73 failed.</span></span>.<span.clas
16b40 73 3d 22 6c 69 6e 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
16b60 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(
16b80 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 72 22 3e addOne(<span.class="tok-number">
16ba0 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 6b 2d 6e 41</span>).==.<span.class="tok-n
16bc0 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 61 6e 20 umber">42</span>);</span>.<span.
16be0 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
16c00 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
16c20 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">//
16c40 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 6f 6e 65 /.The.function.`addOne`.adds.one
16c60 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 72 67 75 .to.the.number.given.as.its.argu
16c80 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 73 73 3d ment.</span></span>.<span.class=
16ca0 22 6c 69 6e 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</
16cc0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 4f 6e span>.<span.class="tok-fn">addOn
16ce0 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 22 74 6f e</span>(number:.<span.class="to
16d00 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 3d k-type">i32</span>).<span.class=
16d20 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>.<
16d40 73 70 61 6e 20 63 6c 61 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
16d60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 s="tok-kw">return</span>.number.
16d80 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 +.<span.class="tok-number">1</sp
16da0 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 7d an>;</span>.<span.class="line">}
16dc0 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
16de0 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
16e00 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>
16e20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 <span.class="line">$.<kbd>zig.te
16e40 73 74 20 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 st.introducing_zig_test.zig</kbd
16e60 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 ></span>.<span.class="line">1/1.
16e80 74 65 73 74 20 26 71 75 6f 74 3b 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 20 6f 6e test.&quot;expect.addOne.adds.on
16ea0 65 20 74 6f 20 34 31 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e e.to.41&quot;....OK</span>.<span
16ec0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 .class="line">All.1.tests.passed
16ee0 2e 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>.
16f00 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 6c 61 73 ......<p>.........The.<code.clas
16f20 73 3d 22 66 69 6c 65 22 3e 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 s="file">introducing_zig_test.zi
16f40 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 65 20 3c g</code>.code.sample.tests.the.<
16f60 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 2f 61 3e a.href="#Functions">function</a>
16f80 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 6e 65 .........<code><span.class="line
16fa0 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 75 72 65 ">addOne</span></code>.to.ensure
16fc0 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 63 6c 61 .that.it.returns.<code><span.cla
16fe0 73 73 3d 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
17000 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 76 65 6e r">42</span></span></code>.given
17020 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 6e 20 63 .the.input.........<code><span.c
17040 6c 61 73 73 3d 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 lass="line"><span.class="tok-num
17060 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 20 46 72 ber">41</span></span></code>..Fr
17080 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 68 65 20 om.this.test's.perspective,.the.
170a0 3c 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 6e 65 3c <code><span.class="line">addOne<
170c0 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 20 20 20 /span></code>.function.is.......
170e0 20 20 73 61 69 64 20 74 6f 20 62 65 20 3c 65 6d 3e 63 6f 64 65 20 75 6e 64 65 72 20 74 65 73 74 ..said.to.be.<em>code.under.test
17100 3c 2f 65 6d 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 </em>........</p>.......<p>.....
17120 20 20 20 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 69 73 20 61 20 74 6f 6f ....<kbd>zig.test</kbd>.is.a.too
17140 6c 20 74 68 61 74 20 63 72 65 61 74 65 73 20 61 6e 64 20 72 75 6e 73 20 61 20 74 65 73 74 20 62 l.that.creates.and.runs.a.test.b
17160 75 69 6c 64 2e 20 42 79 20 64 65 66 61 75 6c 74 2c 20 69 74 20 62 75 69 6c 64 73 20 61 6e 64 20 uild..By.default,.it.builds.and.
17180 72 75 6e 73 20 61 6e 0a 20 20 20 20 20 20 20 20 65 78 65 63 75 74 61 62 6c 65 20 70 72 6f 67 72 runs.an.........executable.progr
171a0 61 6d 20 75 73 69 6e 67 20 74 68 65 20 3c 65 6d 3e 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 am.using.the.<em>default.test.ru
171c0 6e 6e 65 72 3c 2f 65 6d 3e 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 3c 61 20 68 72 65 nner</em>.provided.by.the.<a.hre
171e0 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 f="#Zig-Standard-Library">Zig.St
17200 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 61 73 20 69 74 andard.Library</a>.........as.it
17220 73 20 6d 61 69 6e 20 65 6e 74 72 79 20 70 6f 69 6e 74 2e 20 44 75 72 69 6e 67 20 74 68 65 20 62 s.main.entry.point..During.the.b
17240 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 22 3e 3c uild,.<code><span.class="line"><
17260 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 3c span.class="tok-kw">test</span><
17280 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 75 6e 64 /span></code>.declarations.found
172a0 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 2d 53 6f .while.........<a.href="#Root-So
172c0 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 67 69 76 urce-File">resolving</a>.the.giv
172e0 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 65 64 20 en.Zig.source.file.are.included.
17300 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 20 20 20 for.the.default.test.runner.....
17320 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 20 20 20 ....to.run.and.report.on........
17340 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 69 73 20 </p>.......<aside>.........This.
17360 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 65 61 74 documentation.discusses.the.feat
17380 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 65 72 20 ures.of.the.default.test.runner.
173a0 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 72 64 20 as.provided.by.the.Zig.Standard.
173c0 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 6f 64 65 Library..........Its.source.code
173e0 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 69 6c 65 .is.located.in.<code.class="file
17400 22 3e 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 ">lib/std/special/test_runner.zi
17420 67 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 61 73 69 64 65 3e 0a 20 20 20 20 20 20 3c g</code>........</aside>.......<
17440 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 73 68 65 6c 6c 20 6f 75 74 70 75 74 20 73 68 6f 77 p>.........The.shell.output.show
17460 6e 20 61 62 6f 76 65 20 64 69 73 70 6c 61 79 73 20 74 77 6f 20 6c 69 6e 65 73 20 61 66 74 65 72 n.above.displays.two.lines.after
17480 20 74 68 65 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 63 6f 6d 6d 61 6e 64 .the.<kbd>zig.test</kbd>.command
174a0 2e 20 54 68 65 73 65 20 6c 69 6e 65 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 65 ..These.lines.are.........printe
174c0 64 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 20 62 79 20 74 68 65 20 64 65 66 61 75 d.to.standard.error.by.the.defau
174e0 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 lt.test.runner:.......</p>......
17500 20 3c 64 6c 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 31 2f .<dl>.........<dt><samp>Test.[1/
17520 31 5d 20 74 65 73 74 20 22 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 20 6f 6e 65 20 1].test."expect.addOne.adds.one.
17540 74 6f 20 34 31 22 2e 2e 2e 3c 2f 73 61 6d 70 3e 3c 2f 64 74 3e 0a 20 20 20 20 20 20 20 20 3c 64 to.41"...</samp></dt>.........<d
17560 64 3e 4c 69 6e 65 73 20 6c 69 6b 65 20 74 68 69 73 20 69 6e 64 69 63 61 74 65 20 77 68 69 63 68 d>Lines.like.this.indicate.which
17580 20 74 65 73 74 2c 20 6f 75 74 20 6f 66 20 74 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f .test,.out.of.the.total.number.o
175a0 66 20 74 65 73 74 73 2c 20 69 73 20 62 65 69 6e 67 20 72 75 6e 2e 0a 20 20 20 20 20 20 20 20 20 f.tests,.is.being.run...........
175c0 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 3c 73 61 6d 70 3e 5b 31 2f 31 5d 3c 2f 73 61 6d 70 .In.this.case,.<samp>[1/1]</samp
175e0 3e 20 69 6e 64 69 63 61 74 65 73 20 74 68 61 74 20 74 68 65 20 66 69 72 73 74 20 74 65 73 74 2c >.indicates.that.the.first.test,
17600 20 6f 75 74 20 6f 66 20 61 20 74 6f 74 61 6c 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 6f 6e 65 .out.of.a.total.of...........one
17620 20 74 65 73 74 2c 20 69 73 20 62 65 69 6e 67 20 72 75 6e 2e 20 4e 6f 74 65 20 74 68 61 74 2c 20 .test,.is.being.run..Note.that,.
17640 77 68 65 6e 20 74 68 65 20 74 65 73 74 20 72 75 6e 6e 65 72 20 70 72 6f 67 72 61 6d 27 73 20 73 when.the.test.runner.program's.s
17660 74 61 6e 64 61 72 64 20 65 72 72 6f 72 20 69 73 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 tandard.error.is.output.........
17680 20 20 74 6f 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 2c 20 74 68 65 73 65 20 6c 69 6e 65 73 20 61 ..to.the.terminal,.these.lines.a
176a0 72 65 20 63 6c 65 61 72 65 64 20 77 68 65 6e 20 61 20 74 65 73 74 20 73 75 63 63 65 65 64 73 2e re.cleared.when.a.test.succeeds.
176c0 0a 20 20 20 20 20 20 20 20 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 73 61 6d 70 .........</dd>.........<dt><samp
176e0 3e 41 6c 6c 20 31 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 >All.1.tests.passed.</samp></dt>
17700 0a 20 20 20 20 20 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 .........<dd>This.line.indicates
17720 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 20 74 68 61 74 20 .the.total.number.of.tests.that.
17740 68 61 76 65 20 70 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 have.passed.</dd>.......</dl>...
17760 20 20 20 20 3c 68 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 ....<h3.id="Test-Declarations"><
17780 61 20 68 72 65 66 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 a.href="#toc-Test-Declarations">
177a0 54 65 73 74 20 44 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 Test.Declarations</a>.<a.class="
177c0 68 64 72 22 20 68 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 hdr".href="#Test-Declarations">.
177e0 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 65 .</a></h3>........<p>.........Te
17800 73 74 20 64 65 63 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 st.declarations.contain.the.<a.h
17820 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 6b 65 79 77 6f 72 64 ref="#Keyword-Reference">keyword
17840 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 6e 65 22 3e 3c 73 </a>.<code><span.class="line"><s
17860 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 3c 2f pan.class="tok-kw">test</span></
17880 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 0a 20 20 20 span></code>,.followed.by.an....
178a0 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 20 6e 61 6d 65 20 77 72 69 74 74 65 6e 20 61 73 20 61 20 .....optional.name.written.as.a.
178c0 3c 61 20 68 72 65 66 3d 22 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e <a.href="#String-Literals-and-Un
178e0 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 73 74 72 69 6e icode-Code-Point-Literals">strin
17900 67 20 6c 69 74 65 72 61 6c 3c 2f 61 3e 2c 20 66 6f 6c 6c 6f 77 65 64 0a 20 20 20 20 20 20 20 20 g.literal</a>,.followed.........
17920 62 79 20 61 20 3c 61 20 68 72 65 66 3d 22 23 62 6c 6f 63 6b 73 22 3e 62 6c 6f 63 6b 3c 2f 61 3e by.a.<a.href="#blocks">block</a>
17940 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 63 6f 64 65 20 74 .containing.any.valid.Zig.code.t
17960 68 61 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 46 75 hat.is.allowed.in.a.<a.href="#Fu
17980 6e 63 74 69 6f 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 nctions">function</a>........</p
179a0 3e 0a 20 20 20 20 20 20 3c 61 73 69 64 65 3e 0a 20 20 20 20 20 20 20 20 42 79 20 63 6f 6e 76 65 >.......<aside>.........By.conve
179c0 6e 74 69 6f 6e 2c 20 6e 6f 6e 2d 6e 61 6d 65 64 20 74 65 73 74 73 20 73 68 6f 75 6c 64 20 6f 6e ntion,.non-named.tests.should.on
179e0 6c 79 20 62 65 20 75 73 65 64 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 4e 65 73 74 65 64 2d 43 ly.be.used.to.<a.href="#Nested-C
17a00 6f 6e 74 61 69 6e 65 72 2d 54 65 73 74 73 22 3e 6d 61 6b 65 20 6f 74 68 65 72 20 74 65 73 74 73 ontainer-Tests">make.other.tests
17a20 20 72 75 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 4e 6f 6e 2d 6e 61 6d 65 64 20 74 65 73 74 .run</a>..........Non-named.test
17a40 73 20 63 61 6e 6e 6f 74 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 53 6b 69 70 2d 54 65 73 74 73 s.cannot.be.<a.href="#Skip-Tests
17a60 22 3e 66 69 6c 74 65 72 65 64 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 61 73 69 64 65 3e 0a 20 ">filtered</a>........</aside>..
17a80 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 6c 61 72 61 74 69 6f .....<p>.........Test.declaratio
17aa0 6e 73 20 61 72 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 ns.are.similar.to.<a.href="#Func
17ac0 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3a 20 74 68 65 79 20 68 61 76 65 20 tions">Functions</a>:.they.have.
17ae0 61 20 72 65 74 75 72 6e 20 74 79 70 65 20 61 6e 64 20 61 20 62 6c 6f 63 6b 20 6f 66 20 63 6f 64 a.return.type.and.a.block.of.cod
17b00 65 2e 20 54 68 65 20 69 6d 70 6c 69 63 69 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 e..The.implicit.........return.t
17b20 79 70 65 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 ype.of.<code><span.class="line">
17b40 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>
17b60 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 </span></code>.is.the.<a.href="#
17b80 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 Error-Union-Type">Error.Union.Ty
17ba0 70 65 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pe</a>.<code><span.class="line">
17bc0 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<
17be0 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 76 6f /span>!<span.class="tok-type">vo
17c00 69 64 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 20 20 20 id</span></span></code>,........
17c20 20 61 6e 64 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 63 68 61 6e 67 65 64 2e 20 57 68 65 6e 20 .and.it.cannot.be.changed..When.
17c40 61 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 62 75 69 6c 74 20 75 a.Zig.source.file.is.not.built.u
17c60 73 69 6e 67 20 74 68 65 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 74 6f 6f sing.the.<kbd>zig.test</kbd>.too
17c80 6c 2c 20 74 68 65 20 74 65 73 74 0a 20 20 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 l,.the.test.........declarations
17ca0 20 61 72 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 62 75 69 6c 64 2e 0a 20 20 20 .are.omitted.from.the.build.....
17cc0 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 65 73 74 20 64 ...</p>.......<p>.........Test.d
17ce0 65 63 6c 61 72 61 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 77 72 69 74 74 65 6e 20 69 6e 20 74 68 eclarations.can.be.written.in.th
17d00 65 20 73 61 6d 65 20 66 69 6c 65 2c 20 77 68 65 72 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 65 e.same.file,.where.code.under.te
17d20 73 74 20 69 73 20 77 72 69 74 74 65 6e 2c 20 6f 72 20 69 6e 20 61 20 73 65 70 61 72 61 74 65 20 st.is.written,.or.in.a.separate.
17d40 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 53 69 6e 63 65 20 74 Zig.source.file..........Since.t
17d60 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 74 6f 70 2d 6c 65 76 65 6c 20 64 est.declarations.are.top-level.d
17d80 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 74 68 65 79 20 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 eclarations,.they.are.order-inde
17da0 70 65 6e 64 65 6e 74 20 61 6e 64 20 63 61 6e 0a 20 20 20 20 20 20 20 20 62 65 20 77 72 69 74 74 pendent.and.can.........be.writt
17dc0 65 6e 20 62 65 66 6f 72 65 20 6f 72 20 61 66 74 65 72 20 74 68 65 20 63 6f 64 65 20 75 6e 64 65 en.before.or.after.the.code.unde
17de0 72 20 74 65 73 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 r.test........</p>.......<p>See.
17e00 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 68 65 2d also:</p><ul>.<li><a.href="#The-
17e20 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 Global-Error-Set">The.Global.Err
17e40 6f 72 20 53 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 47 72 or.Set</a></li>.<li><a.href="#Gr
17e60 61 6d 6d 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 ammar">Grammar</a></li>.</ul>...
17e80 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4e 65 73 74 65 64 2d 43 6f 6e 74 61 ............<h3.id="Nested-Conta
17ea0 69 6e 65 72 2d 54 65 73 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4e 65 73 74 65 64 iner-Tests"><a.href="#toc-Nested
17ec0 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 69 6e -Container-Tests">Nested.Contain
17ee0 65 72 20 54 65 73 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 er.Tests</a>.<a.class="hdr".href
17f00 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 c2 a7 3c 2f 61 ="#Nested-Container-Tests">..</a
17f20 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 57 68 65 6e 20 74 ></h3>........<p>.........When.t
17f40 68 65 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 74 6f 6f 6c 20 69 73 20 62 he.<kbd>zig.test</kbd>.tool.is.b
17f60 75 69 6c 64 69 6e 67 20 61 20 74 65 73 74 20 72 75 6e 6e 65 72 2c 20 6f 6e 6c 79 20 72 65 73 6f uilding.a.test.runner,.only.reso
17f80 6c 76 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 3c 73 lved.<code><span.class="line"><s
17fa0 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 3c 2f pan.class="tok-kw">test</span></
17fc0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f 6e span></code>.........declaration
17fe0 73 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 62 75 69 6c 64 2e 20 49 6e 69 s.are.included.in.the.build..Ini
18000 74 69 61 6c 6c 79 2c 20 6f 6e 6c 79 20 74 68 65 20 67 69 76 65 6e 20 5a 69 67 20 73 6f 75 72 63 tially,.only.the.given.Zig.sourc
18020 65 20 66 69 6c 65 27 73 20 74 6f 70 2d 6c 65 76 65 6c 0a 20 20 20 20 20 20 20 20 64 65 63 6c 61 e.file's.top-level.........decla
18040 72 61 74 69 6f 6e 73 20 61 72 65 20 72 65 73 6f 6c 76 65 64 2e 20 55 6e 6c 65 73 73 20 6e 65 73 rations.are.resolved..Unless.nes
18060 74 65 64 20 63 6f 6e 74 61 69 6e 65 72 73 20 61 72 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 ted.containers.are.referenced.fr
18080 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 69 6f 6e 2c om.a.top-level.test.declaration,
180a0 0a 20 20 20 20 20 20 20 20 6e 65 73 74 65 64 20 63 6f 6e 74 61 69 6e 65 72 20 74 65 73 74 73 20 .........nested.container.tests.
180c0 77 69 6c 6c 20 6e 6f 74 20 62 65 20 72 65 73 6f 6c 76 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e will.not.be.resolved........</p>
180e0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 .......<p>.........The.code.samp
18100 6c 65 20 62 65 6c 6f 77 20 75 73 65 73 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c le.below.uses.the.<code><span.cl
18120 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 72 65 66 41 6c 6c 44 65 63 ass="line">std.testing.refAllDec
18140 6c 73 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 68 ls(<span.class="tok-builtin">@Th
18160 69 73 3c 2f 73 70 61 6e 3e 28 29 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 is</span>())</span></code>.funct
18180 69 6f 6e 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 72 65 66 65 72 65 6e 63 65 20 61 6c ion.call.to.........reference.al
181a0 6c 20 6f 66 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 72 73 20 74 68 61 74 20 61 72 65 20 69 6e 20 l.of.the.containers.that.are.in.
181c0 74 68 65 20 66 69 6c 65 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 69 6d 70 6f 72 74 65 64 20 the.file.including.the.imported.
181e0 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 54 68 65 20 63 6f 64 65 0a 20 20 20 20 20 20 Zig.source.file..The.code.......
18200 20 20 73 61 6d 70 6c 65 20 61 6c 73 6f 20 73 68 6f 77 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 ..sample.also.shows.an.alternati
18220 76 65 20 77 61 79 20 74 6f 20 72 65 66 65 72 65 6e 63 65 20 63 6f 6e 74 61 69 6e 65 72 73 20 75 ve.way.to.reference.containers.u
18240 73 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 sing.the.<code><span.class="line
18260 22 3e 5f 20 3d 20 43 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 73 ">_.=.C;</span></code>.........s
18280 79 6e 74 61 78 2e 20 54 68 69 73 20 73 79 6e 74 61 78 20 74 65 6c 6c 73 20 74 68 65 20 63 6f 6d yntax..This.syntax.tells.the.com
182a0 70 69 6c 65 72 20 74 6f 20 69 67 6e 6f 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 piler.to.ignore.the.result.of.th
182c0 65 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 6e 20 74 68 65 20 72 69 67 68 74 20 73 69 64 65 20 6f e.expression.on.the.right.side.o
182e0 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 61 73 73 69 67 6e 6d 65 6e 74 20 6f 70 65 72 61 74 6f f.the.........assignment.operato
18300 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 67 r........</p>.......<figure><fig
18320 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
18340 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 64 65 63 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 74 6f ass="file">testdecl_container_to
18360 70 5f 6c 65 76 65 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 p_level.zig</cite></figcaption><
18380 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
183a0 61 6e 20 63 6c 61 73 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
183c0 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">@
183e0 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
18400 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
18420 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
18440 73 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.
18460 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
18480 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
184a0 61 73 73 3d 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
184c0 65 6e 74 22 3e 2f 2f 20 49 6d 70 6f 72 74 65 64 20 73 6f 75 72 63 65 20 66 69 6c 65 20 74 65 73 ent">//.Imported.source.file.tes
184e0 74 73 20 77 69 6c 6c 20 72 75 6e 20 77 68 65 6e 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d ts.will.run.when.referenced.from
18500 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 69 6f 6e 2e 3c 2f .a.top-level.test.declaration.</
18520 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">
18540 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
18560 20 6e 65 78 74 20 6c 69 6e 65 20 61 6c 6f 6e 65 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 .next.line.alone.does.not.cause.
18580 26 71 75 6f 74 3b 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 67 26 71 &quot;introducing_zig_test.zig&q
185a0 75 6f 74 3b 20 74 65 73 74 73 20 74 6f 20 72 75 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e uot;.tests.to.run.</span></span>
185c0 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=
185e0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6d 70 6f 72 74 65 64 5f 66 "tok-kw">const</span>.imported_f
18600 69 6c 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e ile.=.<span.class="tok-builtin">
18620 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-
18640 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 73 74 2e str">&quot;introducing_zig_test.
18660 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 61 6e 20 zig&quot;</span>);</span>.<span.
18680 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
186a0 3d 22 6c 69 6e 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
186c0 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 6c t</span>.{</span>.<span.class="l
186e0 69 6e 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
18700 74 22 3e 2f 2f 20 54 6f 20 72 75 6e 20 6e 65 73 74 65 64 20 63 6f 6e 74 61 69 6e 65 72 20 74 65 t">//.To.run.nested.container.te
18720 73 74 73 2c 20 65 69 74 68 65 72 2c 20 63 61 6c 6c 20 60 72 65 66 41 6c 6c 44 65 63 6c 73 60 20 sts,.either,.call.`refAllDecls`.
18740 77 68 69 63 68 20 77 69 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 which.will</span></span>.<span.c
18760 6c 61 73 73 3d 22 6c 69 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
18780 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 65 66 65 72 65 6e 63 65 20 61 6c 6c 20 64 65 63 6c 61 -comment">//.reference.all.decla
187a0 72 61 74 69 6f 6e 73 20 6c 6f 63 61 74 65 64 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 61 72 67 rations.located.in.the.given.arg
187c0 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 73 73 ument.</span></span>.<span.class
187e0 3d 22 6c 69 6e 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
18800 6d 65 6e 74 22 3e 2f 2f 20 60 40 54 68 69 73 28 29 60 20 69 73 20 61 20 62 75 69 6c 74 69 6e 20 ment">//.`@This()`.is.a.builtin.
18820 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 6e 65 72 6d function.that.returns.the.innerm
18840 6f 73 74 20 63 6f 6e 74 61 69 6e 65 72 20 69 74 20 69 73 20 63 61 6c 6c 65 64 20 66 72 6f 6d 2e ost.container.it.is.called.from.
18860 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
18880 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">
188a0 2f 2f 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 //.In.this.example,.the.innermos
188c0 74 20 63 6f 6e 74 61 69 6e 65 72 20 69 73 20 74 68 69 73 20 66 69 6c 65 20 28 69 6d 70 6c 69 63 t.container.is.this.file.(implic
188e0 69 74 6c 79 20 61 20 73 74 72 75 63 74 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 itly.a.struct).</span></span>.<s
18900 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 74 65 73 74 69 6e 67 pan.class="line">....std.testing
18920 2e 72 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 .refAllDecls(<span.class="tok-bu
18940 69 6c 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c iltin">@This</span>());</span>.<
18960 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.
18980 63 6c 61 73 73 3d 22 6c 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
189a0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 72 2c 20 72 65 66 65 72 65 6e 63 65 20 65 61 63 68 k-comment">//.or,.reference.each
189c0 20 63 6f 6e 74 61 69 6e 65 72 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 66 72 6f 6d 20 61 20 74 .container.individually.from.a.t
189e0 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 2e 3c 2f 73 70 61 6e op-level.test.declaration.</span
18a00 3e 3c 2f 73 70 61 6e 3e 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">....
18a20 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
18a40 20 60 5f 20 3d 20 43 3b 60 20 73 79 6e 74 61 78 20 69 73 20 61 20 6e 6f 2d 6f 70 20 72 65 66 65 .`_.=.C;`.syntax.is.a.no-op.refe
18a60 72 65 6e 63 65 20 74 6f 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 60 43 60 2e 3c 2f 73 70 rence.to.the.identifier.`C`.</sp
18a80 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">..
18aa0 20 20 5f 20 3d 20 53 3b 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.class="lin
18ac0 65 22 3e 20 20 20 20 5f 20 3d 20 55 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 e">...._.=.U;</span>.<span.class
18ae0 3d 22 6c 69 6e 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 ="line">...._.=.<span.class="tok
18b00 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
18b20 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 72 6f 64 75 63 69 6e 67 lass="tok-str">&quot;introducing
18b40 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 _zig_test.zig&quot;</span>);</sp
18b60 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>.
18b80 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
18ba0 20 63 6c 61 73 73 3d 22 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
18bc0 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=
18be0 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>.
18c00 3c 73 70 61 6e 20 63 6c 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
18c20 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
18c40 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 53 20 64 65 6d 6f 20 74 65 73 74 26 ass="tok-str">&quot;S.demo.test&
18c60 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
18c80 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
18ca0 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
18cc0 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 70 ass="tok-null">true</span>);</sp
18ce0 61 6e 3e 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
18d00 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>.<
18d20 73 70 61 6e 20 63 6c 61 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
18d40 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 45 20 3d 20 3c 73 70 s="tok-kw">const</span>.SE.=.<sp
18d60 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>.{<
18d80 2f 73 70 61 6e 3e 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">......
18da0 20 20 56 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 ..V,</span>.<span.class="line"><
18dc0 2f 73 70 61 6e 3e 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">......
18de0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 ..<span.class="tok-comment">//.T
18e00 68 69 73 20 74 65 73 74 20 77 6f 6e 27 74 20 72 75 6e 20 62 65 63 61 75 73 65 20 69 74 73 20 63 his.test.won't.run.because.its.c
18e20 6f 6e 74 61 69 6e 65 72 20 28 53 45 29 20 69 73 20 6e 6f 74 20 72 65 66 65 72 65 6e 63 65 64 2e ontainer.(SE).is.not.referenced.
18e40 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
18e60 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 74 ">........<span.class="tok-kw">t
18e80 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"
18ea0 3e 26 71 75 6f 74 3b 54 68 69 73 20 54 65 73 74 20 57 6f 6e 27 74 20 52 75 6e 26 71 75 6f 74 3b >&quot;This.Test.Won't.Run&quot;
18ec0 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
18ee0 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
18f00 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
18f20 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 ss="tok-null">false</span>);</sp
18f40 61 6e 3e 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 an>.<span.class="line">........}
18f60 3c 2f 73 70 61 6e 3e 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">....}
18f80 3b 3c 2f 73 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">};</
18fa0 73 70 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>
18fc0 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=
18fe0 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.
19000 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 20 7b 20 3c 73 class="tok-kw">union</span>.{.<s
19020 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 20 69 73 20 pan.class="tok-comment">//.U.is.
19040 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 74 68 65 20 66 69 6c 65 27 73 20 74 6f 70 2d 6c 65 76 referenced.by.the.file's.top-lev
19060 65 6c 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e el.test.declaration</span></span
19080 3e 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 3a 20 55 53 2c 20 >.<span.class="line">....s:.US,.
190a0 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"
190c0 3e 2f 2f 20 61 6e 64 20 55 53 20 69 73 20 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3b 20 74 >//.and.US.is.referenced.here;.t
190e0 68 65 72 65 66 6f 72 65 2c 20 26 71 75 6f 74 3b 55 2e 55 73 20 64 65 6d 6f 20 74 65 73 74 26 71 herefore,.&quot;U.Us.demo.test&q
19100 75 6f 74 3b 20 77 69 6c 6c 20 72 75 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 uot;.will.run</span></span>.<spa
19120 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
19140 73 73 3d 22 6c 69 6e 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
19160 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 55 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 w">const</span>.US.=.<span.class
19180 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 6e 3e ="tok-kw">struct</span>.{</span>
191a0 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
191c0 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
191e0 61 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 2e 55 53 20 64 65 an.class="tok-str">&quot;U.US.de
19200 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 3c 73 mo.test&quot;</span>.{</span>.<s
19220 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 70 pan.class="line">............<sp
19240 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 74 an.class="tok-comment">//.This.t
19260 65 73 74 20 69 73 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 est.is.a.top-level.test.declarat
19280 69 6f 6e 20 66 6f 72 20 74 68 65 20 73 74 72 75 63 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ion.for.the.struct.</span></span
192a0 3e 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">...........
192c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 .<span.class="tok-comment">//.Th
192e0 65 20 73 74 72 75 63 74 20 69 73 20 6e 65 73 74 65 64 20 28 64 65 63 6c 61 72 65 64 29 20 69 6e e.struct.is.nested.(declared).in
19300 73 69 64 65 20 6f 66 20 61 20 75 6e 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c side.of.a.union.</span></span>.<
19320 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
19340 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
19360 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
19380 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
193a0 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 6c 61 73 73 ne">........}</span>.<span.class
193c0 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
193e0 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
19400 6e 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 65 73 ne">....<span.class="tok-kw">tes
19420 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">&
19440 71 75 6f 74 3b 55 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 3c quot;U.demo.test&quot;</span>.{<
19460 2f 73 70 61 6e 3e 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">......
19480 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
194a0 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 75 6c 6c 22 3e >.expect(<span.class="tok-null">
194c0 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 63 6c 61 73 73 true</span>);</span>.<span.class
194e0 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
19500 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 3c 2f ="line">};</span></code></pre></
19520 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
19540 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><
19560 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
19580 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 64 65 63 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f kbd>zig.test.testdecl_container_
195a0 74 6f 70 5f 6c 65 76 65 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e top_level.zig</kbd></span>.<span
195c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 35 20 74 65 73 74 20 26 71 75 6f 74 3b 26 71 75 .class="line">1/5.test.&quot;&qu
195e0 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ot;....OK</span>.<span.class="li
19600 6e 65 22 3e 32 2f 35 20 53 2e 74 65 73 74 20 26 71 75 6f 74 3b 53 20 64 65 6d 6f 20 74 65 73 74 ne">2/5.S.test.&quot;S.demo.test
19620 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
19640 22 6c 69 6e 65 22 3e 33 2f 35 20 55 2e 74 65 73 74 20 26 71 75 6f 74 3b 55 20 64 65 6d 6f 20 74 "line">3/5.U.test.&quot;U.demo.t
19660 65 73 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 est&quot;....OK</span>.<span.cla
19680 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 35 20 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 ss="line">4/5.introducing_zig_te
196a0 73 74 2e 74 65 73 74 20 26 71 75 6f 74 3b 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 st.test.&quot;expect.addOne.adds
196c0 20 6f 6e 65 20 74 6f 20 34 31 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 .one.to.41&quot;....OK</span>.<s
196e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 35 2f 35 20 55 53 2e 74 65 73 74 20 26 71 75 pan.class="line">5/5.US.test.&qu
19700 6f 74 3b 55 2e 55 53 20 64 65 6d 6f 20 74 65 73 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 ot;U.US.demo.test&quot;....OK</s
19720 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 6c 6c 20 35 20 74 65 pan>.<span.class="line">All.5.te
19740 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e sts.passed.</span>.</samp></pre>
19760 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 54 </figure>..............<h3.id="T
19780 65 73 74 2d 46 61 69 6c 75 72 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 65 73 74 2d est-Failure"><a.href="#toc-Test-
197a0 46 61 69 6c 75 72 65 22 3e 54 65 73 74 20 46 61 69 6c 75 72 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 Failure">Test.Failure</a>.<a.cla
197c0 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 65 73 74 2d 46 61 69 6c 75 72 65 22 3e c2 a7 ss="hdr".href="#Test-Failure">..
197e0 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 54 68 65 </a></h3>........<p>.........The
19800 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 63 68 65 63 6b 73 20 66 6f 72 20 .default.test.runner.checks.for.
19820 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 65 72 72 6f 72 3c 2f 61 3e 20 72 an.<a.href="#Errors">error</a>.r
19840 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 61 20 74 65 73 74 2e 0a 20 20 20 20 20 20 20 20 57 68 65 eturned.from.a.test..........Whe
19860 6e 20 61 20 74 65 73 74 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 2c 20 74 68 65 20 74 n.a.test.returns.an.error,.the.t
19880 65 73 74 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 20 66 61 69 6c 75 72 65 20 61 6e 64 20 est.is.considered.a.failure.and.
198a0 69 74 73 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 its.<a.href="#Error-Return-Trace
198c0 73 22 3e 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 65 3c 2f 61 3e 0a 20 20 20 20 20 20 s">error.return.trace</a>.......
198e0 20 20 69 73 20 6f 75 74 70 75 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 2e 20 54 ..is.output.to.standard.error..T
19900 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 66 61 69 6c 75 72 65 73 20 77 69 6c 6c he.total.number.of.failures.will
19920 20 62 65 20 72 65 70 6f 72 74 65 64 20 61 66 74 65 72 20 61 6c 6c 20 74 65 73 74 73 20 68 61 76 .be.reported.after.all.tests.hav
19940 65 20 72 75 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e e.run........</p>.......<figure>
19960 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
19980 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f e.class="file">test.zig</cite></
199a0 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
199c0 73 3d 22 6c 69 6e 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
199e0 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
19a00 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.
19a20 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;<
19a40 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
19a60 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
19a80 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>.<
19aa0 73 70 61 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 70 65 63 span.class="tok-str">&quot;expec
19ac0 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 3e 20 7b 3c 2f 73 t.this.to.fail&quot;</span>.{</s
19ae0 70 61 6e 3e 0a 3c 73 70 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
19b00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e n.class="tok-kw">try</span>.std.
19b20 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d testing.expect(<span.class="tok-
19b40 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 3e 0a 3c 73 70 61 null">false</span>);</span>.<spa
19b60 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
19b80 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="
19ba0 6c 69 6e 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<
19bc0 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
19be0 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 71 75 6f 74 3b 3c ot;expect.this.to.succeed&quot;<
19c00 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
19c20 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<
19c40 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 61 6e 20 /span>.std.testing.expect(<span.
19c60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f class="tok-null">true</span>);</
19c80 73 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
19ca0 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><
19cc0 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
19ce0 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 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
19d00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 class="line">$.<kbd>zig.test.tes
19d20 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t.zig</kbd></span>.<span.class="
19d40 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 65 78 70 65 63 74 20 74 68 69 73 line">1/2.test.&quot;expect.this
19d60 20 74 6f 20 66 61 69 6c 26 71 75 6f 74 3b 2e 2e 2e 20 74 65 73 74 20 26 71 75 6f 74 3b 65 78 70 .to.fail&quot;....test.&quot;exp
19d80 65 63 74 20 74 68 69 73 20 74 6f 20 66 61 69 6c 26 71 75 6f 74 3b 2e 2e 2e 20 46 41 49 4c 20 28 ect.this.to.fail&quot;....FAIL.(
19da0 54 65 73 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 6c 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 TestUnexpectedResult)</span>.<sp
19dc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 41 49 4c 20 28 54 65 73 74 55 6e 65 78 70 65 an.class="line">FAIL.(TestUnexpe
19de0 63 74 65 64 52 65 73 75 6c 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ctedResult)</span>.<span.class="
19e00 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 line"><span.class="t1_0">/home/a
19e20 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 74 65 73 74 69 6e 67 2e 7a 69 67 3a ndy/tmp/zig/lib/std/testing.zig:
19e40 33 30 33 3a 31 34 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 303:14</span>:.<span.class="t2_0
19e60 22 3e 30 78 32 30 37 65 62 62 20 69 6e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 ">0x207ebb.in.std.testing.expect
19e80 20 28 74 65 73 74 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 73 .(test)</span></span>.<span.clas
19ea0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 66 20 28 21 6f 6b 29 20 72 65 74 75 72 6e 20 65 72 72 s="line">....if.(!ok).return.err
19ec0 6f 72 2e 54 65 73 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a or.TestUnexpectedResult;</span>.
19ee0 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">.............
19f00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
19f20 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
19f40 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 ss="t1_0">/home/andy/tmp/zig/doc
19f60 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 gen_tmp/test.zig:4:5</span>:.<sp
19f80 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 38 66 31 20 69 6e 20 74 65 73 74 an.class="t2_0">0x2078f1.in.test
19fa0 20 26 71 75 6f 74 3b 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 66 61 69 6c 26 71 75 6f 74 3b .&quot;expect.this.to.fail&quot;
19fc0 20 28 74 65 73 74 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 73 .(test)</span></span>.<span.clas
19fe0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 s="line">....try.std.testing.exp
1a000 65 63 74 28 66 61 6c 73 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ect(false);</span>.<span.class="
1a020 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c line">....<span.class="t32_1">^<
1a040 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"
1a060 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 73 >2/2.test.&quot;expect.this.to.s
1a080 75 63 63 65 65 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ucceed&quot;....OK</span>.<span.
1a0a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 20 70 61 73 73 65 64 3b 20 30 20 73 6b 69 70 70 65 64 class="line">1.passed;.0.skipped
1a0c0 3b 20 31 20 66 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ;.1.failed.</span>.<span.class="
1a0e0 6c 69 6e 65 22 3e 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 line">error:.the.following.test.
1a100 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 63 6f 64 65 20 31 3a command.failed.with.exit.code.1:
1a120 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 67 65 </span>.<span.class="line">docge
1a140 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 36 34 33 64 30 38 66 31 n_tmp/zig-cache/o/e62d5b643d08f1
1a160 61 63 62 62 31 33 38 36 64 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e acbb1386db92eb0f23/test./home/an
1a180 64 79 2f 74 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 3c 2f 73 70 dy/tmp/zig/build-release/zig</sp
1a1a0 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>......
1a1c0 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 68 ........<h3.id="Skip-Tests"><a.h
1a1e0 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 73 ref="#toc-Skip-Tests">Skip.Tests
1a200 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 2d </a>.<a.class="hdr".href="#Skip-
1a220 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 20 Tests">..</a></h3>........<p>...
1a240 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 74 ......One.way.to.skip.tests.is.t
1a260 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 3c o.filter.them.out.by.using.the.<
1a280 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 20 kbd>zig.test</kbd>.command.line.
1a2a0 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 69 parameter.........<kbd>--test-fi
1a2c0 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 68 lter.[text]</kbd>..This.makes.th
1a2e0 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 20 e.test.build.only.include.tests.
1a300 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 20 whose.name.contains.the.........
1a320 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 20 supplied.filter.text..Note.that.
1a340 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 65 non-named.tests.are.run.even.whe
1a360 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 5b n.using.the.<kbd>--test-filter.[
1a380 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 65 text]</kbd>.........command.line
1a3a0 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 3e .parameter........</p>.......<p>
1a3c0 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 69 .........To.programmatically.ski
1a3e0 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 61 p.a.test,.make.a.<code><span.cla
1a400 73 73 3d 22 6c 69 6e 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
1a420 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 20 est</span></span></code>.return.
1a440 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 6c the.error.........<code><span.cl
1a460 61 73 73 3d 22 6c 69 6e 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">
1a480 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 3c error</span>.SkipZigTest</span><
1a4a0 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 6e /code>.and.the.default.test.runn
1a4c0 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 69 er.will.consider.the.test.as.bei
1a4e0 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 75 ng.skipped..........The.total.nu
1a500 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 65 mber.of.skipped.tests.will.be.re
1a520 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 2e ported.after.all.tests.have.run.
1a540 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
1a560 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
1a580 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 s="file">test.zig</cite></figcap
1a5a0 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
1a5c0 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
1a5e0 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;
1a600 74 68 69 73 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e this.will.be.skipped&quot;</span
1a620 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">..
1a640 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
1a660 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<
1a680 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 0a 3c 73 70 61 6e /span>.SkipZigTest;</span>.<span
1a6a0 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
1a6c0 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.
1a6e0 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
1a700 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
1a720 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e ">$.<kbd>zig.test.test.zig</kbd>
1a740 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 </span>.<span.class="line">1/1.t
1a760 65 73 74 20 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 est.&quot;this.will.be.skipped&q
1a780 75 6f 74 3b 2e 2e 2e 20 74 65 73 74 20 26 71 75 6f 74 3b 74 68 69 73 20 77 69 6c 6c 20 62 65 20 uot;....test.&quot;this.will.be.
1a7a0 73 6b 69 70 70 65 64 26 71 75 6f 74 3b 2e 2e 2e 20 53 4b 49 50 3c 2f 73 70 61 6e 3e 0a 3c 73 70 skipped&quot;....SKIP</span>.<sp
1a7c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 4b 49 50 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 an.class="line">SKIP</span>.<spa
1a7e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 30 20 70 61 73 73 65 64 3b 20 31 20 73 6b 69 70 70 n.class="line">0.passed;.1.skipp
1a800 65 64 3b 20 30 20 66 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 ed;.0.failed.</span>.</samp></pr
1a820 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 20 54 68 e></figure>.......<p>.........Th
1a840 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 73 6b 69 70 73 20 74 65 73 74 e.default.test.runner.skips.test
1a860 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 s.containing.a.<a.href="#Async-F
1a880 75 6e 63 74 69 6f 6e 73 22 3e 73 75 73 70 65 6e 64 20 70 6f 69 6e 74 3c 2f 61 3e 20 77 68 69 6c unctions">suspend.point</a>.whil
1a8a0 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 74 65 73 74 20 69 73 20 72 75 6e 6e 69 6e 67 20 75 73 e.the.........test.is.running.us
1a8c0 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c 74 2c 20 62 6c 6f 63 6b 69 6e 67 20 49 4f 20 6d 6f 64 ing.the.default,.blocking.IO.mod
1a8e0 65 2e 0a 20 20 20 20 20 20 20 20 28 54 68 65 20 65 76 65 6e 74 65 64 20 49 4f 20 6d 6f 64 65 20 e..........(The.evented.IO.mode.
1a900 69 73 20 65 6e 61 62 6c 65 64 20 75 73 69 6e 67 20 74 68 65 20 3c 6b 62 64 3e 2d 2d 74 65 73 74 is.enabled.using.the.<kbd>--test
1a920 2d 65 76 65 6e 74 65 64 2d 69 6f 3c 2f 6b 62 64 3e 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 -evented-io</kbd>.command.line.p
1a940 61 72 61 6d 65 74 65 72 2e 29 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 arameter.).......</p>.......<fig
1a960 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">
1a980 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 79 6e 63 5f 73 6b 69 70 2e 7a 69 <cite.class="file">async_skip.zi
1a9a0 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>
1a9c0 3c 73 70 61 6e 20 63 6c 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="
1a9e0 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
1aa00 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
1aa20 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;
1aa40 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.
1aa60 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
1aa80 3d 22 6c 69 6e 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
1aaa0 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">&
1aac0 71 75 6f 74 3b 61 73 79 6e 63 20 73 6b 69 70 20 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e quot;async.skip.test&quot;</span
1aae0 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">..
1ab00 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
1ab20 3e 20 66 72 61 6d 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 61 >.frame.=.<span.class="tok-kw">a
1ab40 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e sync</span>.func();</span>.<span
1ab60 20 63 6c 61 73 73 3d 22 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
1ab80 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
1aba0 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 20 66 an.class="tok-kw">await</span>.f
1abc0 72 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 22 3e rame;</span>.<span.class="line">
1abe0 20 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
1ac00 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 3d 3d an>.std.testing.expect(result.==
1ac20 20 3c 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
1ac40 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">}
1ac60 3c 2f 73 70 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
1ac80 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
1aca0 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
1acc0 3d 22 74 6f 6b 2d 66 6e 22 3e 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c ="tok-fn">func</span>().<span.cl
1ace0 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 70 61 ass="tok-type">i32</span>.{</spa
1ad00 6e 3e 0a 3c 73 70 61 6e 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.
1ad20 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 20 7b 3c class="tok-kw">suspend</span>.{<
1ad40 2f 73 70 61 6e 3e 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">......
1ad60 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 73 75 6d 65 3c 2f 73 ..<span.class="tok-kw">resume</s
1ad80 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 pan>.<span.class="tok-builtin">@
1ada0 66 72 61 6d 65 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 61 frame</span>();</span>.<span.cla
1adc0 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
1ade0 73 73 3d 22 6c 69 6e 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
1ae00 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
1ae20 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
1ae40 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
1ae60 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.
1ae80 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
1aea0 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
1aec0 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 73 79 6e 63 5f 73 6b 69 70 2e 7a 69 67 ">$.<kbd>zig.test.async_skip.zig
1aee0 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 </kbd></span>.<span.class="line"
1af00 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 73 6b 69 70 20 74 65 73 74 26 >1/1.test.&quot;async.skip.test&
1af20 71 75 6f 74 3b 2e 2e 2e 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 73 6b 69 70 20 74 quot;....test.&quot;async.skip.t
1af40 65 73 74 26 71 75 6f 74 3b 2e 2e 2e 20 53 4b 49 50 20 28 61 73 79 6e 63 20 74 65 73 74 29 3c 2f est&quot;....SKIP.(async.test)</
1af60 73 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 4b 49 50 20 28 61 span>.<span.class="line">SKIP.(a
1af80 73 79 6e 63 20 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c sync.test)</span>.<span.class="l
1afa0 69 6e 65 22 3e 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 ine">0.passed;.1.skipped;.0.fail
1afc0 65 64 2e 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 ed.</span>.</samp></pre></figure
1afe0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 74 68 65 20 63 6f 64 65 20 >.......<p>.........In.the.code.
1b000 73 61 6d 70 6c 65 20 61 62 6f 76 65 2c 20 74 68 65 20 74 65 73 74 20 77 6f 75 6c 64 20 6e 6f 74 sample.above,.the.test.would.not
1b020 20 62 65 20 73 6b 69 70 70 65 64 20 69 6e 20 62 6c 6f 63 6b 69 6e 67 20 49 4f 20 6d 6f 64 65 20 .be.skipped.in.blocking.IO.mode.
1b040 69 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 6c 69 6e 65 22 3e if.the.<code><span.class="line">
1b060 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 6e 64 3c 2f <span.class="tok-kw">nosuspend</
1b080 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 6b 65 79 77 span></span></code>.........keyw
1b0a0 6f 72 64 20 77 61 73 20 75 73 65 64 20 28 73 65 65 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e ord.was.used.(see.<a.href="#Asyn
1b0c0 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e 41 73 79 6e 63 20 61 6e 64 20 41 77 61 69 74 3c 2f 61 3e c-and-Await">Async.and.Await</a>
1b0e0 29 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 )........</p>..............<h3.i
1b100 64 3d 22 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e 3c 61 20 68 72 65 66 3d d="Report-Memory-Leaks"><a.href=
1b120 22 23 74 6f 63 2d 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e 52 65 70 6f 72 "#toc-Report-Memory-Leaks">Repor
1b140 74 20 4d 65 6d 6f 72 79 20 4c 65 61 6b 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 t.Memory.Leaks</a>.<a.class="hdr
1b160 22 20 68 72 65 66 3d 22 23 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e c2 a7 ".href="#Report-Memory-Leaks">..
1b180 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 57 68 65 </a></h3>........<p>.........Whe
1b1a0 6e 20 63 6f 64 65 20 61 6c 6c 6f 63 61 74 65 73 20 3c 61 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 n.code.allocates.<a.href="#Memor
1b1c0 79 22 3e 4d 65 6d 6f 72 79 3c 2f 61 3e 20 75 73 69 6e 67 20 74 68 65 20 3c 61 20 68 72 65 66 3d y">Memory</a>.using.the.<a.href=
1b1e0 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e "#Zig-Standard-Library">Zig.Stan
1b200 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 27 73 20 74 65 73 74 69 6e 67 20 61 6c 6c 6f 63 dard.Library</a>'s.testing.alloc
1b220 61 74 6f 72 2c 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 ator,.........<code><span.class=
1b240 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 "line">std.testing.allocator</sp
1b260 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e an></code>,.the.default.test.run
1b280 6e 65 72 20 77 69 6c 6c 20 72 65 70 6f 72 74 20 61 6e 79 20 6c 65 61 6b 73 20 74 68 61 74 20 61 ner.will.report.any.leaks.that.a
1b2a0 72 65 0a 20 20 20 20 20 20 20 20 66 6f 75 6e 64 20 66 72 6f 6d 20 75 73 69 6e 67 20 74 68 65 20 re.........found.from.using.the.
1b2c0 74 65 73 74 69 6e 67 20 61 6c 6c 6f 63 61 74 6f 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 testing.allocator:.......</p>...
1b2e0 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
1b300 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 2e ig-cap"><cite.class="file">test.
1b320 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
1b340 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
1b360 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 ="tok-kw">const</span>.std.=.<sp
1b380 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</
1b3a0 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
1b3c0 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 61 t;std&quot;</span>);</span>.<spa
1b3e0 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
1b400 73 73 3d 22 6c 69 6e 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
1b420 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"
1b440 3e 26 71 75 6f 74 3b 64 65 74 65 63 74 20 6c 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 >&quot;detect.leak&quot;</span>.
1b460 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">....
1b480 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>.
1b4a0 6c 69 73 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 list.=.std.ArrayList(<span.class
1b4c0 3d 22 74 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 ="tok-type">u21</span>).init(std
1b4e0 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 73 70 61 .testing.allocator);</span>.<spa
1b500 6e 20 63 6c 61 73 73 3d 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="
1b520 74 6f 6b 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 tok-comment">//.missing.`defer.l
1b540 69 73 74 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 ist.deinit();`</span></span>.<sp
1b560 61 6e 20 63 6c 61 73 73 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=
1b580 22 74 6f 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 "tok-kw">try</span>.list.append(
1b5a0 3c 73 70 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 <span.class="tok-str">'...'</spa
1b5c0 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"><
1b5e0 2f 73 70 61 6e 3e 0a 3c 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
1b600 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 pan.class="tok-kw">try</span>.st
1b620 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 6c 69 73 74 2e 69 74 65 6d 73 2e 6c 65 6e 20 d.testing.expect(list.items.len.
1b640 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 ==.<span.class="tok-number">1</s
1b660 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"
1b680 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><
1b6a0 66 69 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-
1b6c0 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
1b6e0 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
1b700 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e test.test.zig</kbd></span>.<span
1b720 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 64 65 74 .class="line">1/1.test.&quot;det
1b740 65 63 74 20 6c 65 61 6b 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ect.leak&quot;....OK</span>.<spa
1b760 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 67 70 61 5d 20 28 65 72 72 29 3a 20 6d 65 6d 6f n.class="line">[gpa].(err):.memo
1b780 72 79 20 61 64 64 72 65 73 73 20 30 78 37 66 66 36 35 65 33 62 31 30 30 30 20 6c 65 61 6b 65 64 ry.address.0x7ff65e3b1000.leaked
1b7a0 3a 3c 2f 73 70 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
1b7c0 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 n.class="t1_0">/home/andy/tmp/zi
1b7e0 67 2f 6c 69 62 2f 73 74 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 33 32 35 3a 36 39 3c g/lib/std/array_list.zig:325:69<
1b800 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 63 /span>:.<span.class="t2_0">0x20c
1b820 65 38 39 20 69 6e 20 73 74 64 2e 61 72 72 61 79 5f 6c 69 73 74 2e 41 72 72 61 79 4c 69 73 74 41 e89.in.std.array_list.ArrayListA
1b840 6c 69 67 6e 65 64 28 75 32 31 2c 6e 75 6c 6c 29 2e 65 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 ligned(u21,null).ensureTotalCapa
1b860 63 69 74 79 50 72 65 63 69 73 65 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e cityPrecise.(test)</span></span>
1b880 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">............
1b8a0 20 20 20 20 63 6f 6e 73 74 20 6e 65 77 5f 6d 65 6d 6f 72 79 20 3d 20 74 72 79 20 73 65 6c 66 2e ....const.new_memory.=.try.self.
1b8c0 61 6c 6c 6f 63 61 74 6f 72 2e 72 65 61 6c 6c 6f 63 41 74 4c 65 61 73 74 28 73 65 6c 66 2e 61 6c allocator.reallocAtLeast(self.al
1b8e0 6c 6f 63 61 74 65 64 53 6c 69 63 65 28 29 2c 20 6e 65 77 5f 63 61 70 61 63 69 74 79 29 3b 3c 2f locatedSlice(),.new_capacity);</
1b900 73 70 61 6e 3e 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">.......
1b920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b940 20 20 20 20 20 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 .............................<sp
1b960 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e an.class="t32_1">^</span></span>
1b980 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=
1b9a0 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 "t1_0">/home/andy/tmp/zig/lib/st
1b9c0 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 33 31 30 3a 35 35 3c 2f 73 70 61 6e 3e 3a 20 d/array_list.zig:310:55</span>:.
1b9e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 63 63 38 65 20 69 6e 20 73 <span.class="t2_0">0x20cc8e.in.s
1ba00 74 64 2e 61 72 72 61 79 5f 6c 69 73 74 2e 41 72 72 61 79 4c 69 73 74 41 6c 69 67 6e 65 64 28 75 td.array_list.ArrayListAligned(u
1ba20 32 31 2c 6e 75 6c 6c 29 2e 65 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 69 74 79 20 28 74 65 21,null).ensureTotalCapacity.(te
1ba40 73 74 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 73 73 3d 22 6c st)</span></span>.<span.class="l
1ba60 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 ine">................return.self
1ba80 2e 65 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 28 62 65 74 74 .ensureTotalCapacityPrecise(bett
1baa0 65 72 5f 63 61 70 61 63 69 74 79 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er_capacity);</span>.<span.class
1bac0 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 20 20 ="line">........................
1bae0 20 20 20 20 20 20 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
1bb00 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e pan.class="t32_1">^</span></span
1bb20 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
1bb40 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 ="t1_0">/home/andy/tmp/zig/lib/s
1bb60 74 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 33 34 39 3a 34 31 3c 2f 73 70 61 6e 3e 3a td/array_list.zig:349:41</span>:
1bb80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 63 63 30 38 20 69 6e 20 .<span.class="t2_0">0x20cc08.in.
1bba0 73 74 64 2e 61 72 72 61 79 5f 6c 69 73 74 2e 41 72 72 61 79 4c 69 73 74 41 6c 69 67 6e 65 64 28 std.array_list.ArrayListAligned(
1bbc0 75 32 31 2c 6e 75 6c 6c 29 2e 61 64 64 4f 6e 65 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f u21,null).addOne.(test)</span></
1bbe0 73 70 61 6e 3e 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">.......
1bc00 20 20 20 20 20 74 72 79 20 73 65 6c 66 2e 65 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 69 74 .....try.self.ensureTotalCapacit
1bc20 79 28 6e 65 77 6c 65 6e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c y(newlen);</span>.<span.class="l
1bc40 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 20 20 20 ine">...........................
1bc60 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 33 32 5f 31 22 .............<span.class="t32_1"
1bc80 3e 5e 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
1bca0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 ne"><span.class="t1_0">/home/and
1bcc0 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 y/tmp/zig/lib/std/array_list.zig
1bce0 3a 31 36 31 3a 34 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f :161:49</span>:.<span.class="t2_
1bd00 30 22 3e 30 78 32 30 39 32 30 34 20 69 6e 20 73 74 64 2e 61 72 72 61 79 5f 6c 69 73 74 2e 41 72 0">0x209204.in.std.array_list.Ar
1bd20 72 61 79 4c 69 73 74 41 6c 69 67 6e 65 64 28 75 32 31 2c 6e 75 6c 6c 29 2e 61 70 70 65 6e 64 20 rayListAligned(u21,null).append.
1bd40 28 74 65 73 74 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 73 73 (test)</span></span>.<span.class
1bd60 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 6e 65 77 5f 69 74 ="line">............const.new_it
1bd80 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 3c 2f 73 70 61 em_ptr.=.try.self.addOne();</spa
1bda0 6e 3e 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">..........
1bdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1bde0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 ......<span.class="t32_1">^</spa
1be00 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
1be20 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
1be40 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 32 30 3c 2f 73 70 61 ig/docgen_tmp/test.zig:6:20</spa
1be60 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 62 65 30 20 n>:.<span.class="t2_0">0x208be0.
1be80 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 64 65 74 65 63 74 20 6c 65 61 6b 26 71 75 6f 74 3b 20 in.test.&quot;detect.leak&quot;.
1bea0 28 74 65 73 74 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 73 73 (test)</span></span>.<span.class
1bec0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 6c 69 73 74 2e 61 70 70 65 6e 64 28 27 e2 98 94 ="line">....try.list.append('...
1bee0 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 6e 65 22 3e 20 20 ');</span>.<span.class="line">..
1bf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 .................<span.class="t3
1bf20 32 5f 31 22 3e 5e 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 2_1">^</span></span>.<span.class
1bf40 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 ="line"><span.class="t1_0">/home
1bf60 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 /andy/tmp/zig/lib/std/special/te
1bf80 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 38 30 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 st_runner.zig:80:28</span>:.<spa
1bfa0 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 62 30 33 33 20 69 6e 20 73 74 64 2e 73 n.class="t2_0">0x23b033.in.std.s
1bfc0 70 65 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e pecial.main.(test)</span></span>
1bfe0 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 20 65 6c .<span.class="line">........}.el
1c000 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 se.test_fn.func();</span>.<span.
1c020 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">...................
1c040 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 ........<span.class="t32_1">^</s
1c060 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"><
1c080 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 span.class="t1_0">/home/andy/tmp
1c0a0 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 /zig/lib/std/start.zig:551:22</s
1c0c0 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 33 39 30 pan>:.<span.class="t2_0">0x23390
1c0e0 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f c.in.std.start.callMain.(test)</
1c100 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">
1c120 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a ............root.main();</span>.
1c140 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">.............
1c160 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 ........<span.class="t32_1">^</s
1c180 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"><
1c1a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 span.class="t1_0">/home/andy/tmp
1c1c0 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 /zig/lib/std/start.zig:495:12</s
1c1e0 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 64 63 37 pan>:.<span.class="t2_0">0x20dc7
1c200 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 e.in.std.start.callMainWithArgs.
1c220 28 74 65 73 74 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 73 73 (test)</span></span>.<span.class
1c240 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 ="line">....return.@call(.{..mod
1c260 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 ifier.=..always_inline.},.callMa
1c280 69 6e 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 6c 69 in,..{});</span>.<span.class="li
1c2a0 6e 65 22 3e 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 33 32 5f ne">...........<span.class="t32_
1c2c0 31 22 3e 5e 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="
1c2e0 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"
1c300 3e 3c 2f 73 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 6c 6c 20 ></span>.<span.class="line">All.
1c320 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 1.tests.passed.</span>.<span.cla
1c340 73 73 3d 22 6c 69 6e 65 22 3e 31 20 65 72 72 6f 72 73 20 77 65 72 65 20 6c 6f 67 67 65 64 2e 3c ss="line">1.errors.were.logged.<
1c360 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 20 74 65 73 74 /span>.<span.class="line">1.test
1c380 73 20 6c 65 61 6b 65 64 20 6d 65 6d 6f 72 79 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c s.leaked.memory.</span>.<span.cl
1c3a0 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 ass="line">error:.the.following.
1c3c0 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 63 6f test.command.failed.with.exit.co
1c3e0 64 65 20 31 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e de.1:</span>.<span.class="line">
1c400 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 36 34 33 docgen_tmp/zig-cache/o/e62d5b643
1c420 64 30 38 66 31 61 63 62 62 31 33 38 36 64 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 2f 68 6f d08f1acbb1386db92eb0f23/test./ho
1c440 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 me/andy/tmp/zig/build-release/zi
1c460 67 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 g</span>.</samp></pre></figure>.
1c480 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><
1c4a0 61 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c a.href="#defer">defer</a></li>.<
1c4c0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 79 3c 2f 61 3e 3c li><a.href="#Memory">Memory</a><
1c4e0 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d /li>.</ul>...............<h3.id=
1c500 22 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e 3c 61 20 68 72 65 66 3d 22 "Detecting-Test-Build"><a.href="
1c520 23 74 6f 63 2d 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e 44 65 74 65 63 #toc-Detecting-Test-Build">Detec
1c540 74 69 6e 67 20 54 65 73 74 20 42 75 69 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 ting.Test.Build</a>.<a.class="hd
1c560 72 22 20 68 72 65 66 3d 22 23 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e r".href="#Detecting-Test-Build">
1c580 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 55 ..</a></h3>........<p>.........U
1c5a0 73 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c se.the.<a.href="#Compile-Variabl
1c5c0 65 73 22 3e 63 6f 6d 70 69 6c 65 20 76 61 72 69 61 62 6c 65 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c es">compile.variable</a>.<code><
1c5e0 73 70 61 6e 20 63 6c 61 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
1c600 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
1c620 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
1c640 75 6f 74 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 uot;</span>).is_test</span></cod
1c660 65 3e 0a 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 e>.........to.detect.a.test.buil
1c680 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
1c6a0 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
1c6c0 61 73 73 3d 22 66 69 6c 65 22 3e 64 65 74 65 63 74 5f 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 ass="file">detect_test.zig</cite
1c6e0 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
1c700 6c 61 73 73 3d 22 6c 69 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"
1c720 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=
1c740 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
1c760 61 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
1c780 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="
1c7a0 6c 69 6e 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
1c7c0 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>.builtin.=.<span.class="t
1c7e0 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
1c800 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
1c820 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
1c840 3d 22 6c 69 6e 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
1c860 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
1c880 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"
1c8a0 3e 3c 2f 73 70 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
1c8c0 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
1c8e0 61 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
1c900 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 61 6e 3e 0a 3c .is_test&quot;</span>.{</span>.<
1c920 73 70 61 6e 20 63 6c 61 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
1c940 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 73 41 s="tok-kw">try</span>.expect(isA
1c960 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 3d 22 6c 69 6e Test());</span>.<span.class="lin
1c980 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"><
1c9a0 2f 73 70 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.
1c9c0 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
1c9e0 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 3e 28 29 20 3c lass="tok-fn">isATest</span>().<
1ca00 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
1ca20 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">..
1ca40 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
1ca60 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 3e 0a 3c 73 70 pan>.builtin.is_test;</span>.<sp
1ca80 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><
1caa0 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
1cac0 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
1cae0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><samp><span.class="li
1cb00 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 64 65 74 65 63 74 5f 74 65 73 74 2e ne">$.<kbd>zig.test.detect_test.
1cb20 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 zig</kbd></span>.<span.class="li
1cb40 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 2e 69 73 5f 74 65 ne">1/1.test.&quot;builtin.is_te
1cb60 73 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 st&quot;....OK</span>.<span.clas
1cb80 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 s="line">All.1.tests.passed.</sp
1cba0 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>......
1cbc0 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d ........<h3.id="Test-Output-and-
1cbe0 4c 6f 67 67 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 65 73 74 2d 4f 75 74 70 Logging"><a.href="#toc-Test-Outp
1cc00 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 3e 54 65 73 74 20 4f 75 74 70 75 74 20 61 6e 64 20 ut-and-Logging">Test.Output.and.
1cc20 4c 6f 67 67 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 Logging</a>.<a.class="hdr".href=
1cc40 22 23 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 c2 a7 3c 2f 61 "#Test-Output-and-Logging">..</a
1cc60 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 64 65 ></h3>........<p>.........The.de
1cc80 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 61 6e 64 20 74 68 65 20 5a 69 67 20 53 74 fault.test.runner.and.the.Zig.St
1cca0 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 27 73 20 74 65 73 74 69 6e 67 20 6e 61 6d 65 73 70 61 andard.Library's.testing.namespa
1ccc0 63 65 20 6f 75 74 70 75 74 20 6d 65 73 73 61 67 65 73 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 ce.output.messages.to.standard.e
1cce0 72 72 6f 72 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 rror........</p>..............<h
1cd00 33 20 69 64 3d 22 54 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 22 3e 3c 61 20 3.id="The-Testing-Namespace"><a.
1cd20 68 72 65 66 3d 22 23 74 6f 63 2d 54 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 href="#toc-The-Testing-Namespace
1cd40 22 3e 54 68 65 20 54 65 73 74 69 6e 67 20 4e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 20 3c 61 20 63 ">The.Testing.Namespace</a>.<a.c
1cd60 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 lass="hdr".href="#The-Testing-Na
1cd80 6d 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 20 3c 70 3e 0a mespace">..</a></h3>........<p>.
1cda0 20 20 20 20 20 20 20 20 54 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 ........The.Zig.Standard.Library
1cdc0 27 73 20 3c 63 6f 64 65 3e 74 65 73 74 69 6e 67 3c 2f 63 6f 64 65 3e 20 6e 61 6d 65 73 70 61 63 's.<code>testing</code>.namespac
1cde0 65 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 6f 20 68 e.contains.useful.functions.to.h
1ce00 65 6c 70 0a 20 20 20 20 20 20 20 20 79 6f 75 20 63 72 65 61 74 65 20 74 65 73 74 73 2e 20 49 6e elp.........you.create.tests..In
1ce20 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 65 78 70 65 63 74 3c 2f 63 .addition.to.the.<code>expect</c
1ce40 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 75 73 65 ode>.function,.this.document.use
1ce60 73 20 61 20 63 6f 75 70 6c 65 20 6f 66 20 6d 6f 72 65 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 s.a.couple.of.more.functions....
1ce80 20 20 20 20 20 61 73 20 65 78 65 6d 70 6c 69 66 69 65 64 20 68 65 72 65 3a 0a 20 20 20 20 20 20 .....as.exemplified.here:.......
1cea0 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
1cec0 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
1cee0 22 3e 74 65 73 74 69 6e 67 5f 66 75 6e 63 74 69 6f 6e 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f ">testing_functions.zig</cite></
1cf00 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
1cf20 73 3d 22 6c 69 6e 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
1cf40 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
1cf60 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.
1cf80 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;<
1cfa0 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
1cfc0 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
1cfe0 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>.<
1d000 73 70 61 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 70 65 63 span.class="tok-str">&quot;expec
1d020 74 45 71 75 61 6c 20 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 tEqual.demo&quot;</span>.{</span
1d040 3e 0a 3c 73 70 61 6e 20 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
1d060 6c 61 73 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
1d080 74 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 22 3e 69 33 32 3c ted:.<span.class="tok-type">i32<
1d0a0 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
1d0c0 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=
1d0e0 22 6c 69 6e 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">
1d100 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 63 74 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 const</span>.actual.=.<span.clas
1d120 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 2f 73 70 61 6e 3e s="tok-number">42</span>;</span>
1d140 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
1d160 6e 20 63 6c 61 73 73 3d 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="
1d180 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 tok-comment">//.The.first.argume
1d1a0 6e 74 20 74 6f 20 60 65 78 70 65 63 74 45 71 75 61 6c 60 20 69 73 20 74 68 65 20 6b 6e 6f 77 6e nt.to.`expectEqual`.is.the.known
1d1c0 2c 20 65 78 70 65 63 74 65 64 2c 20 72 65 73 75 6c 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ,.expected,.result.</span></span
1d1e0 3e 0a 3c 73 70 61 6e 20 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
1d200 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 73 65 63 6f 6e 64 lass="tok-comment">//.The.second
1d220 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 73 6f 6d 65 20 .argument.is.the.result.of.some.
1d240 65 78 70 72 65 73 73 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 expression.</span></span>.<span.
1d260 63 6c 61 73 73 3d 22 6c 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
1d280 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 61 63 74 75 61 6c 27 73 20 74 79 70 65 20 k-comment">//.The.actual's.type.
1d2a0 69 73 20 63 61 73 74 65 64 20 74 6f 20 74 68 65 20 74 79 70 65 20 6f 66 20 65 78 70 65 63 74 65 is.casted.to.the.type.of.expecte
1d2c0 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
1d2e0 6e 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
1d300 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(
1d320 65 78 70 65 63 74 65 64 2c 20 61 63 74 75 61 6c 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 expected,.actual);</span>.<span.
1d340 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
1d360 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
1d380 6e 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
1d3a0 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
1d3c0 3b 65 78 70 65 63 74 45 72 72 6f 72 20 64 65 6d 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b ;expectError.demo&quot;</span>.{
1d3e0 3c 2f 73 70 61 6e 3e 0a 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">....<
1d400 73 70 61 6e 20 63 6c 61 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>
1d420 20 65 78 70 65 63 74 65 64 5f 65 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .expected_error.=.<span.class="t
1d440 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;</
1d460 73 70 61 6e 3e 0a 3c 73 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
1d480 61 6e 20 63 6c 61 73 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
1d4a0 63 74 75 61 6c 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ctual_error_union:.<span.class="
1d4c0 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.
1d4e0 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 20 3c class="tok-type">void</span>.=.<
1d500 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>
1d520 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 6c 61 73 73 3d 22 .DemoError;</span>.<span.class="
1d540 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"
1d560 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">/
1d580 2f 20 60 65 78 70 65 63 74 45 72 72 6f 72 60 20 77 69 6c 6c 20 66 61 69 6c 20 77 68 65 6e 20 74 /.`expectError`.will.fail.when.t
1d5a0 68 65 20 61 63 74 75 61 6c 20 65 72 72 6f 72 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 74 68 61 he.actual.error.is.different.tha
1d5c0 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
1d5e0 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"
1d600 3e 2f 2f 20 74 68 65 20 65 78 70 65 63 74 65 64 20 65 72 72 6f 72 2e 3c 2f 73 70 61 6e 3e 3c 2f >//.the.expected.error.</span></
1d620 73 70 61 6e 3e 0a 3c 73 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
1d640 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 an.class="tok-kw">try</span>.std
1d660 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 65 78 70 65 63 74 65 64 5f 65 72 .testing.expectError(expected_er
1d680 72 6f 72 2c 20 61 63 74 75 61 6c 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 29 3b 3c 2f 73 70 61 6e 3e ror,.actual_error_union);</span>
1d6a0 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
1d6c0 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
1d6e0 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
1d700 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
1d720 3d 22 6c 69 6e 65 22 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 ="line">$.<kbd>zig.test.testing_
1d740 66 75 6e 63 74 69 6f 6e 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e functions.zig</kbd></span>.<span
1d760 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 65 78 70 .class="line">1/2.test.&quot;exp
1d780 65 63 74 45 71 75 61 6c 20 64 65 6d 6f 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e ectEqual.demo&quot;....OK</span>
1d7a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 .<span.class="line">2/2.test.&qu
1d7c0 6f 74 3b 65 78 70 65 63 74 45 72 72 6f 72 20 64 65 6d 6f 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c ot;expectError.demo&quot;....OK<
1d7e0 2f 73 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 6c 6c 20 32 20 /span>.<span.class="line">All.2.
1d800 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 tests.passed.</span>.</samp></pr
1d820 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 5a 69 67 20 53 74 61 e></figure>.......<p>The.Zig.Sta
1d840 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 61 6c 73 6f 20 63 6f 6e 74 61 69 6e 73 20 66 75 6e 63 ndard.Library.also.contains.func
1d860 74 69 6f 6e 73 20 74 6f 20 63 6f 6d 70 61 72 65 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 tions.to.compare.<a.href="#Slice
1d880 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 2c 20 73 74 72 69 6e 67 73 2c 20 61 6e 64 20 6d 6f 72 65 s">Slices</a>,.strings,.and.more
1d8a0 2e 20 53 65 65 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 3c 63 ..See.the.rest.of.the.........<c
1d8c0 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 69 ode><span.class="line">std.testi
1d8e0 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6e 61 6d 65 73 70 61 63 65 20 69 6e 20 74 68 ng</span></code>.namespace.in.th
1d900 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
1d920 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
1d940 6f 72 65 20 61 76 61 69 6c 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 70 3e 0a 20 20 20 ore.available.functions.</p>....
1d960 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 ..........<h3.id="Test-Tool-Docu
1d980 6d 65 6e 74 61 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 65 73 74 2d 54 6f mentation"><a.href="#toc-Test-To
1d9a0 6f 6c 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 ol-Documentation">Test.Tool.Docu
1d9c0 6d 65 6e 74 61 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 mentation</a>.<a.class="hdr".hre
1d9e0 66 3d 22 23 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 c2 a7 3c f="#Test-Tool-Documentation">..<
1da00 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 3c 6b 62 64 /a></h3>........<p>.........<kbd
1da20 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 68 61 73 20 61 20 66 65 77 20 63 6f 6d 6d 61 6e >zig.test</kbd>.has.a.few.comman
1da40 64 20 6c 69 6e 65 20 70 61 72 61 6d 65 74 65 72 73 20 77 68 69 63 68 20 61 66 66 65 63 74 20 74 d.line.parameters.which.affect.t
1da60 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 53 65 65 20 3c 6b 62 64 he.compilation..........See.<kbd
1da80 3e 7a 69 67 20 74 65 73 74 20 2d 2d 68 65 6c 70 3c 2f 6b 62 64 3e 20 66 6f 72 20 61 20 66 75 6c >zig.test.--help</kbd>.for.a.ful
1daa0 6c 20 6c 69 73 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 l.list........</p>..............
1dac0 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 ........<h2.id="Variables"><a.hr
1dae0 65 66 3d 22 23 74 6f 63 2d 56 61 72 69 61 62 6c 65 73 22 3e 56 61 72 69 61 62 6c 65 73 3c 2f 61 ef="#toc-Variables">Variables</a
1db00 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 72 69 61 62 6c 65 >.<a.class="hdr".href="#Variable
1db20 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>.......
1db40 41 20 76 61 72 69 61 62 6c 65 20 69 73 20 61 20 75 6e 69 74 20 6f 66 20 3c 61 20 68 72 65 66 3d A.variable.is.a.unit.of.<a.href=
1db60 22 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 79 3c 2f 61 3e 20 73 74 6f 72 61 67 65 2e 0a 20 20 "#Memory">Memory</a>.storage....
1db80 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 73 20 67 ....</p>.......<p>.......It.is.g
1dba0 65 6e 65 72 61 6c 6c 79 20 70 72 65 66 65 72 61 62 6c 65 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 enerally.preferable.to.use.<code
1dbc0 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=
1dbe0 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
1dc00 64 65 3e 20 72 61 74 68 65 72 20 74 68 61 6e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 de>.rather.than.......<code><spa
1dc20 6e 20 63 6c 61 73 73 3d 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-
1dc40 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 77 68 65 kw">var</span></span></code>.whe
1dc60 6e 20 64 65 63 6c 61 72 69 6e 67 20 61 20 76 61 72 69 61 62 6c 65 2e 20 54 68 69 73 20 63 61 75 n.declaring.a.variable..This.cau
1dc80 73 65 73 20 6c 65 73 73 20 77 6f 72 6b 20 66 6f 72 20 62 6f 74 68 0a 20 20 20 20 20 20 68 75 6d ses.less.work.for.both.......hum
1dca0 61 6e 73 20 61 6e 64 20 63 6f 6d 70 75 74 65 72 73 20 74 6f 20 64 6f 20 77 68 65 6e 20 72 65 61 ans.and.computers.to.do.when.rea
1dcc0 64 69 6e 67 20 63 6f 64 65 2c 20 61 6e 64 20 63 72 65 61 74 65 73 20 6d 6f 72 65 20 6f 70 74 69 ding.code,.and.creates.more.opti
1dce0 6d 69 7a 61 74 69 6f 6e 20 6f 70 70 6f 72 74 75 6e 69 74 69 65 73 2e 0a 20 20 20 20 20 20 3c 2f mization.opportunities........</
1dd00 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 64 65 6e 74 69 66 69 65 72 73 22 3e 3c p>........<h3.id="Identifiers"><
1dd20 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 64 65 6e 74 69 66 69 65 72 73 22 3e 49 64 65 6e 74 69 a.href="#toc-Identifiers">Identi
1dd40 66 69 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 fiers</a>.<a.class="hdr".href="#
1dd60 49 64 65 6e 74 69 66 69 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 Identifiers">..</a></h3>........
1dd80 3c 70 3e 0a 20 20 20 20 20 20 56 61 72 69 61 62 6c 65 20 69 64 65 6e 74 69 66 69 65 72 73 20 61 <p>.......Variable.identifiers.a
1dda0 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77 65 64 20 74 6f 20 73 68 61 64 6f 77 20 69 64 65 6e 74 re.never.allowed.to.shadow.ident
1ddc0 69 66 69 65 72 73 20 66 72 6f 6d 20 61 6e 20 6f 75 74 65 72 20 73 63 6f 70 65 2e 0a 20 20 20 20 ifiers.from.an.outer.scope......
1dde0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 64 65 6e 74 69 66 69 65 ..</p>.......<p>.......Identifie
1de00 72 73 20 6d 75 73 74 20 73 74 61 72 74 20 77 69 74 68 20 61 6e 20 61 6c 70 68 61 62 65 74 69 63 rs.must.start.with.an.alphabetic
1de20 20 63 68 61 72 61 63 74 65 72 20 6f 72 20 75 6e 64 65 72 73 63 6f 72 65 20 61 6e 64 20 6d 61 79 .character.or.underscore.and.may
1de40 20 62 65 20 66 6f 6c 6c 6f 77 65 64 0a 20 20 20 20 20 20 62 79 20 61 6e 79 20 6e 75 6d 62 65 72 .be.followed.......by.any.number
1de60 20 6f 66 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 63 68 61 72 61 63 74 65 72 73 20 6f 72 20 75 .of.alphanumeric.characters.or.u
1de80 6e 64 65 72 73 63 6f 72 65 73 2e 0a 20 20 20 20 20 20 54 68 65 79 20 6d 75 73 74 20 6e 6f 74 20 nderscores........They.must.not.
1dea0 6f 76 65 72 6c 61 70 20 77 69 74 68 20 61 6e 79 20 6b 65 79 77 6f 72 64 73 2e 20 53 65 65 20 3c overlap.with.any.keywords..See.<
1dec0 61 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 4b 65 79 77 a.href="#Keyword-Reference">Keyw
1dee0 6f 72 64 20 52 65 66 65 72 65 6e 63 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ord.Reference</a>........</p>...
1df00 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 61 20 6e 61 6d 65 20 74 68 61 74 20 64 6f 65 ....<p>.......If.a.name.that.doe
1df20 73 20 6e 6f 74 20 66 69 74 20 74 68 65 73 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 69 73 20 s.not.fit.these.requirements.is.
1df40 6e 65 65 64 65 64 2c 20 73 75 63 68 20 61 73 20 66 6f 72 20 6c 69 6e 6b 69 6e 67 20 77 69 74 68 needed,.such.as.for.linking.with
1df60 20 65 78 74 65 72 6e 61 6c 20 6c 69 62 72 61 72 69 65 73 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c .external.libraries,.the.<code><
1df80 73 70 61 6e 20 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 span.class="line">@&quot;&quot;<
1dfa0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 6d 61 79 20 62 65 20 75 73 65 64 /span></code>.syntax.may.be.used
1dfc0 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
1dfe0 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
1e000 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 ss="file">test.zig</cite></figca
1e020 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
1e040 6e 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</
1e060 73 70 61 6e 3e 20 40 26 71 75 6f 74 3b 69 64 65 6e 74 69 66 69 65 72 20 77 69 74 68 20 73 70 61 span>.@&quot;identifier.with.spa
1e080 63 65 73 20 69 6e 20 69 74 26 71 75 6f 74 3b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ces.in.it&quot;.=.<span.class="t
1e0a0 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 0a 3c ok-number">0xff</span>;</span>.<
1e0c0 73 70 61 6e 20 63 6c 61 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
1e0e0 6f 6b 2d 6b 77 22 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 ok-kw">const</span>.@&quot;1Smal
1e100 6c 53 74 65 70 34 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 lStep4Man&quot;.=.<span.class="t
1e120 6f 6b 2d 6e 75 6d 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 ok-number">112358</span>;</span>
1e140 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
1e160 6e 20 63 6c 61 73 73 3d 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-
1e180 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 kw">const</span>.c.=.<span.class
1e1a0 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
1e1c0 70 61 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
1e1e0 6f 74 3b 3c 2f 73 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 ot;</span>).c;</span>.<span.clas
1e200 73 3d 22 6c 69 6e 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
1e220 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 78 b</span>.<span.class="tok-kw">ex
1e240 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 tern</span>.<span.class="tok-str
1e260 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ">&quot;c&quot;</span>.<span.cla
1e280 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
1e2a0 73 3d 22 74 6f 6b 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 s="tok-fn">@&quot;error&quot;</s
1e2c0 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 61 6e pan>().<span.class="tok-type">an
1e2e0 79 6f 70 61 71 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 yopaque</span>;</span>.<span.cla
1e300 73 73 3d 22 6c 69 6e 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
1e320 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
1e340 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 xtern</span>.<span.class="tok-st
1e360 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c r">&quot;c&quot;</span>.<span.cl
1e380 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
1e3a0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 40 26 71 75 6f 74 3b 66 73 74 61 74 24 49 4e 4f 44 45 36 34 ss="tok-fn">@&quot;fstat$INODE64
1e3c0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 28 66 64 3a 20 63 2e 66 64 5f 74 2c 20 62 75 66 3a 20 2a &quot;</span>(fd:.c.fd_t,.buf:.*
1e3e0 63 2e 53 74 61 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 c.Stat).<span.class="tok-type">c
1e400 5f 69 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 _int</span>;</span>.<span.class=
1e420 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
1e440 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
1e460 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 77 22 an>.Color.=.<span.class="tok-kw"
1e480 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
1e4a0 73 3d 22 6c 69 6e 65 22 3e 20 20 72 65 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">..red,</span>.<span.cla
1e4c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 40 26 71 75 6f 74 3b 72 65 61 6c 6c 79 20 72 65 64 26 71 75 ss="line">..@&quot;really.red&qu
1e4e0 6f 74 3b 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 ot;,</span>.<span.class="line">}
1e500 3b 3c 2f 73 70 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
1e520 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f n.class="tok-kw">const</span>.co
1e540 6c 6f 72 3a 20 43 6f 6c 6f 72 20 3d 20 2e 40 26 71 75 6f 74 3b 72 65 61 6c 6c 79 20 72 65 64 26 lor:.Color.=..@&quot;really.red&
1e560 71 75 6f 74 3b 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 quot;;</span></code></pre></figu
1e580 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 43 6f 6e 74 61 69 re>...............<h3.id="Contai
1e5a0 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ner-Level-Variables"><a.href="#t
1e5c0 6f 63 2d 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 oc-Container-Level-Variables">Co
1e5e0 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 20 3c 61 20 63 ntainer.Level.Variables</a>.<a.c
1e600 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 lass="hdr".href="#Container-Leve
1e620 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 l-Variables">..</a></h3>........
1e640 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 <p>.......Container.level.variab
1e660 6c 65 73 20 68 61 76 65 20 73 74 61 74 69 63 20 6c 69 66 65 74 69 6d 65 20 61 6e 64 20 61 72 65 les.have.static.lifetime.and.are
1e680 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e 64 65 6e 74 20 61 6e 64 20 6c 61 7a 69 6c 79 20 61 6e .order-independent.and.lazily.an
1e6a0 61 6c 79 7a 65 64 2e 0a 20 20 20 20 20 20 54 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e alyzed........The.initialization
1e6c0 20 76 61 6c 75 65 20 6f 66 20 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 .value.of.container.level.variab
1e6e0 6c 65 73 20 69 73 20 69 6d 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d les.is.implicitly.......<a.href=
1e700 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2e 20 49 66 20 61 20 63 "#comptime">comptime</a>..If.a.c
1e720 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 20 69 73 20 3c 63 6f 64 65 ontainer.level.variable.is.<code
1e740 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=
1e760 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
1e780 64 65 3e 20 74 68 65 6e 20 69 74 73 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 3c 63 6f 64 de>.then.its.value.is.......<cod
1e7a0 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
1e7c0 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 61 6e 3e ="tok-kw">comptime</span></span>
1e7e0 3c 2f 63 6f 64 65 3e 2d 6b 6e 6f 77 6e 2c 20 6f 74 68 65 72 77 69 73 65 20 69 74 20 69 73 20 72 </code>-known,.otherwise.it.is.r
1e800 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c untime-known........</p>.......<
1e820 66 69 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
1e840 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6e 74 61 69 6e 65 72 5f p"><cite.class="file">container_
1e860 6c 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 level_variables.zig</cite></figc
1e880 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
1e8a0 69 6e 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
1e8c0 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 pan>.y:.<span.class="tok-type">i
1e8e0 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 74 6f 6b 32</span>.=.add(<span.class="tok
1e900 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 78 29 3b 3c 2f 73 70 61 6e 3e 0a 3c -number">10</span>,.x);</span>.<
1e920 73 70 61 6e 20 63 6c 61 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
1e940 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
1e960 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 61 64 64 28 3c ss="tok-type">i32</span>.=.add(<
1e980 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e span.class="tok-number">12</span
1e9a0 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f >,.<span.class="tok-number">34</
1e9c0 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
1e9e0 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
1ea00 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
1ea20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6e 74 61 69 pan.class="tok-str">&quot;contai
1ea40 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ner.level.variables&quot;</span>
1ea60 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">...
1ea80 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>
1eaa0 20 65 78 70 65 63 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .expect(x.==.<span.class="tok-nu
1eac0 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 63 mber">46</span>);</span>.<span.c
1eae0 6c 61 73 73 3d 22 6c 69 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
1eb00 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 20 3d 3d 20 3c 73 70 61 -kw">try</span>.expect(y.==.<spa
1eb20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 3c 2f 73 70 61 6e 3e 29 3b n.class="tok-number">56</span>);
1eb40 3c 2f 73 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
1eb60 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>.<
1eb80 73 70 61 6e 20 63 6c 61 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
1eba0 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
1ebc0 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=
1ebe0 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.
1ec00 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
1ec20 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>.{
1ec40 3c 2f 73 70 61 6e 3e 0a 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">....<
1ec60 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
1ec80 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 73 73 3d 22 6c 69 6e >.a.+.b;</span>.<span.class="lin
1eca0 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"><
1ecc0 2f 73 70 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.
1ece0 63 6c 61 73 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.
1ed00 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
1ed20 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"
1ed40 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>
1ed60 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=
1ed80 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
1eda0 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 3c 2f 63 6f 64 65 3e td.testing.expect;</span></code>
1edc0 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
1ede0 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
1ee00 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><samp><span.class="l
1ee20 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 6e 74 61 69 6e 65 72 5f 6c ine">$.<kbd>zig.test.container_l
1ee40 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a evel_variables.zig</kbd></span>.
1ee60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f <span.class="line">1/1.test.&quo
1ee80 74 3b 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 26 71 75 6f 74 t;container.level.variables&quot
1eea0 3b 2e 2e 2e 20 4f 4b 3c 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
1eec0 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 ">All.1.tests.passed.</span>.</s
1eee0 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>...
1ef00 20 20 20 20 43 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 20 6d 61 ....Container.level.variables.ma
1ef20 79 20 62 65 20 64 65 63 6c 61 72 65 64 20 69 6e 73 69 64 65 20 61 20 3c 61 20 68 72 65 66 3d 22 y.be.declared.inside.a.<a.href="
1ef40 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 75 #struct">struct</a>,.<a.href="#u
1ef60 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 65 6e nion">union</a>,.or.<a.href="#en
1ef80 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c um">enum</a>:.......</p>.......<
1efa0 66 69 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
1efc0 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 61 6d 65 73 70 61 63 65 64 p"><cite.class="file">namespaced
1efe0 5f 63 6f 6e 74 61 69 6e 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 2e 7a 69 67 3c 2f 63 _container_level_variable.zig</c
1f000 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
1f020 6e 20 63 6c 61 73 73 3d 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-
1f040 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
1f060 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>(
1f080 3c 73 70 61 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&
1f0a0 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
1f0c0 73 3d 22 6c 69 6e 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
1f0e0 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.
1f100 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
1f120 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
1f140 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
1f160 70 61 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 73 70 pan.class="tok-str">&quot;namesp
1f180 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 71 75 aced.container.level.variable&qu
1f1a0 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=
1f1c0 22 6c 69 6e 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">
1f1e0 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 61 6e try</span>.expect(foo().==.<span
1f200 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 3e 29 .class="tok-number">1235</span>)
1f220 3b 3c 2f 73 70 61 6e 3e 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">....
1f240 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>.
1f260 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 6f 6b expect(foo().==.<span.class="tok
1f280 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 3c 73 -number">1236</span>);</span>.<s
1f2a0 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.
1f2c0 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
1f2e0 3d 22 6c 69 6e 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
1f300 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b st</span>.S.=.<span.class="tok-k
1f320 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 20 w">struct</span>.{</span>.<span.
1f340 63 6c 61 73 73 3d 22 6c 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
1f360 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">var</span>.x:.<span.class=
1f380 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
1f3a0 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 73 ass="tok-number">1234</span>;</s
1f3c0 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
1f3e0 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
1f400 61 6e 20 63 6c 61 73 73 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
1f420 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-
1f440 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 74 6f fn">foo</span>().<span.class="to
1f460 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
1f480 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 6e 20 n.class="line">....S.x.+=.<span.
1f4a0 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
1f4c0 61 6e 3e 0a 3c 73 70 61 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
1f4e0 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 53 2e .class="tok-kw">return</span>.S.
1f500 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">}</
1f520 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
1f540 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"
1f560 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 3c 73 >Shell</figcaption><pre><samp><s
1f580 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 pan.class="line">$.<kbd>zig.test
1f5a0 20 6e 61 6d 65 73 70 61 63 65 64 5f 63 6f 6e 74 61 69 6e 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 .namespaced_container_level_vari
1f5c0 61 62 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 able.zig</kbd></span>.<span.clas
1f5e0 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 61 6d 65 73 70 61 63 s="line">1/1.test.&quot;namespac
1f600 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 71 75 6f 74 ed.container.level.variable&quot
1f620 3b 2e 2e 2e 20 4f 4b 3c 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
1f640 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 ">All.1.tests.passed.</span>.</s
1f660 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 amp></pre></figure>.............
1f680 20 20 3c 68 33 20 69 64 3d 22 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 ..<h3.id="Static-Local-Variables
1f6a0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 "><a.href="#toc-Static-Local-Var
1f6c0 69 61 62 6c 65 73 22 3e 53 74 61 74 69 63 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f iables">Static.Local.Variables</
1f6e0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 61 74 69 63 2d a>.<a.class="hdr".href="#Static-
1f700 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 Local-Variables">..</a></h3>....
1f720 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 74 20 69 73 20 61 6c 73 6f 20 70 6f 73 73 69 ....<p>.........It.is.also.possi
1f740 62 6c 65 20 74 6f 20 68 61 76 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 77 69 74 68 ble.to.have.local.variables.with
1f760 20 73 74 61 74 69 63 20 6c 69 66 65 74 69 6d 65 20 62 79 20 75 73 69 6e 67 20 63 6f 6e 74 61 69 .static.lifetime.by.using.contai
1f780 6e 65 72 73 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 ners.inside.functions........</p
1f7a0 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
1f7c0 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 73 s="zig-cap"><cite.class="file">s
1f7e0 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 63 69 74 65 3e 3c tatic_local_variable.zig</cite><
1f800 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
1f820 73 73 3d 22 6c 69 6e 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
1f840 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
1f860 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
1f880 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;
1f8a0 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
1f8c0 6e 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</
1f8e0 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
1f900 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
1f920 70 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
1f940 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
1f960 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 61 74 69 63 20 6c 6f 63 61 lass="tok-str">&quot;static.loca
1f980 6c 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 l.variable&quot;</span>.{</span>
1f9a0 0a 3c 73 70 61 6e 20 63 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
1f9c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 ass="tok-kw">try</span>.expect(f
1f9e0 6f 6f 28 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 oo().==.<span.class="tok-number"
1fa00 3e 31 32 33 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 >1235</span>);</span>.<span.clas
1fa20 73 3d 22 6c 69 6e 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
1fa40 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
1fa60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 36 3c 2f 73 70 61 6e an.class="tok-number">1236</span
1fa80 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">}<
1faa0 2f 73 70 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
1fac0 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
1fae0 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=
1fb00 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-fn">foo</span>().<span.clas
1fb20 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>
1fb40 0a 3c 73 70 61 6e 20 63 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
1fb60 61 73 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
1fb80 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>
1fba0 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">...
1fbc0 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 .....<span.class="tok-kw">var</s
1fbe0 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
1fc00 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
1fc20 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
1fc40 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 70 61 6e 20 lass="line">....};</span>.<span.
1fc60 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 6e 20 63 6c class="line">....S.x.+=.<span.cl
1fc80 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
1fca0 3e 0a 3c 73 70 61 6e 20 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
1fcc0 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 53 2e 78 3b lass="tok-kw">return</span>.S.x;
1fce0 3c 2f 73 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
1fd00 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
1fd20 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
1fd40 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 3c 73 70 61 hell</figcaption><pre><samp><spa
1fd60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 n.class="line">$.<kbd>zig.test.s
1fd80 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 64 3e 3c 2f tatic_local_variable.zig</kbd></
1fda0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 span>.<span.class="line">1/1.tes
1fdc0 74 20 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 t.&quot;static.local.variable&qu
1fde0 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ot;....OK</span>.<span.class="li
1fe00 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c ne">All.1.tests.passed.</span>.<
1fe20 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>.
1fe40 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 6e ......The.<code><span.class="lin
1fe60 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 3c 2f e"><span.class="tok-kw">extern</
1fe80 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 6f 72 20 3c span></span></code>.keyword.or.<
1fea0 61 20 68 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 a.href="#extern">@extern</a>.bui
1fec0 6c 74 69 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 ltin.function.can.be.used.to.lin
1fee0 6b 20 61 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 k.against.a.variable.that.is.exp
1ff00 6f 72 74 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 orted.......from.another.object.
1ff20 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 3c 73 .The.<code><span.class="line"><s
1ff40 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>
1ff60 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 72 65 </span></code>.keyword.or.<a.hre
1ff80 66 3d 22 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 f="#export">@export</a>.builtin.
1ffa0 66 75 6e 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 function.......can.be.used.to.ma
1ffc0 6b 65 20 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 ke.a.variable.available.to.other
1ffe0 20 6f 62 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 .objects.at.link.time..In.both.c
20000 61 73 65 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 ases,.......the.type.of.the.vari
20020 61 62 6c 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 able.must.be.C.ABI.compatible...
20040 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e .....</p>.......<p>See.also:</p>
20060 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 <ul>.<li><a.href="#Exporting-a-C
20080 2d 4c 69 62 72 61 72 79 22 3e 45 78 70 6f 72 74 69 6e 67 20 61 20 43 20 4c 69 62 72 61 72 79 3c -Library">Exporting.a.C.Library<
200a0 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 /a></li>.</ul>................<h
200c0 33 20 69 64 3d 22 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 3.id="Thread-Local-Variables"><a
200e0 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c .href="#toc-Thread-Local-Variabl
20100 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c es">Thread.Local.Variables</a>.<
20120 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 68 72 65 61 64 2d 4c 6f 63 61 a.class="hdr".href="#Thread-Loca
20140 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 l-Variables">..</a></h3>........
20160 3c 70 3e 41 20 76 61 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 73 70 65 63 69 66 69 65 64 20 74 <p>A.variable.may.be.specified.t
20180 6f 20 62 65 20 61 20 74 68 72 65 61 64 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 75 73 69 o.be.a.thread-local.variable.usi
201a0 6e 67 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ng.the.......<code><span.class="
201c0 6c 69 6e 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 line"><span.class="tok-kw">threa
201e0 64 6c 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 6b 65 79 77 dlocal</span></span></code>.keyw
20200 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 74 69 ord:</p>.......<figure><figcapti
20220 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="
20240 66 69 6c 65 22 3e 74 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 file">tls.zig</cite></figcaption
20260 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"><
20280 73 70 61 6e 20 63 6c 61 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>
202a0 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"
202c0 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
202e0 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>);</
20300 73 70 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
20320 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 lass="tok-kw">const</span>.asser
20340 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 73 70 t.=.std.debug.assert;</span>.<sp
20360 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
20380 61 73 73 3d 22 6c 69 6e 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">
203a0 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 3d 22 threadlocal</span>.<span.class="
203c0 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
203e0 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.
20400 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>;<
20420 2f 73 70 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
20440 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
20460 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
20480 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 20 73 s="tok-str">&quot;thread.local.s
204a0 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 73 70 torage&quot;</span>.{</span>.<sp
204c0 61 6e 20 63 6c 61 73 73 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=
204e0 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 3d 20 "tok-kw">const</span>.thread1.=.
20500 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>.
20520 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 20 2e std.Thread.spawn(.{},.testTls,..
20540 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">.
20560 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
20580 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 6b 2d pan>.thread2.=.<span.class="tok-
205a0 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 6e 28 kw">try</span>.std.Thread.spawn(
205c0 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 61 6e .{},.testTls,..{});</span>.<span
205e0 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 73 70 .class="line">....testTls();</sp
20600 61 6e 3e 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 61 an>.<span.class="line">....threa
20620 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 22 6c d1.join();</span>.<span.class="l
20640 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 3e 0a ine">....thread2.join();</span>.
20660 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
20680 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
206a0 73 73 3d 22 6c 69 6e 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
206c0 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 65 n</span>.<span.class="tok-fn">te
206e0 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 6b 2d stTls</span>().<span.class="tok-
20700 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
20720 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 3c 73 .class="line">....assert(x.==.<s
20740 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
20760 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">.
20780 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 72 22 ...x.+=.<span.class="tok-number"
207a0 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
207c0 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 73 73 ine">....assert(x.==.<span.class
207e0 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 70 61 ="tok-number">1235</span>);</spa
20800 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></
20820 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
20840 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<
20860 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><samp><span.cla
20880 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 6c 73 2e 7a 69 ss="line">$.<kbd>zig.test.tls.zi
208a0 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
208c0 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 74 68 72 65 61 64 20 6c 6f 63 61 6c 20 73 74 ">1/1.test.&quot;thread.local.st
208e0 6f 72 61 67 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 orage&quot;....OK</span>.<span.c
20900 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c lass="line">All.1.tests.passed.<
20920 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>...
20940 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
20960 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
20980 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
209a0 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
209c0 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
209e0 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
20a00 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>......
20a20 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.
20a40 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
20a60 6e 20 63 6c 61 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
20a80 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>.........
20aa0 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"><
20ac0 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
20ae0 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"
20b00 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><
20b20 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
20b40 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
20b60 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="
20b80 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,.
20ba0 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<
20bc0 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>
20be0 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.
20c00 3c 63 6f 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
20c20 6c 61 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
20c40 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
20c60 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....
20c80 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
20ca0 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
20cc0 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=
20ce0 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
20d00 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="#
20d20 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
20d40 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
20d60 70 61 6e 20 63 6c 61 73 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
20d80 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
20da0 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>.
20dc0 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
20de0 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
20e00 73 73 3d 22 6c 69 6e 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
20e20 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
20e40 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
20e60 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
20e80 6c 61 73 73 3d 22 6c 69 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"
20ea0 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
20ec0 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
20ee0 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
20f00 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
20f20 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..
20f40 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.
20f60 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
20f80 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><
20fa0 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
20fc0 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=
20fe0 22 6c 69 6e 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
21000 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
21020 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
21040 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.
21060 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a 69 67 3c 2f class="file">comptime_vars.zig</
21080 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
210a0 61 6e 20 63 6c 61 73 73 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
210c0 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
210e0 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>
21100 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
21120 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
21140 73 73 3d 22 6c 69 6e 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
21160 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
21180 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
211a0 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
211c0 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>.<
211e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 span.class="tok-str">&quot;compt
21200 69 6d 65 20 76 61 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 ime.vars&quot;</span>.{</span>.<
21220 73 70 61 6e 20 63 6c 61 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
21240 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 63 s="tok-kw">var</span>.x:.<span.c
21260 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
21280 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>;<
212a0 2f 73 70 61 6e 3e 0a 3c 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
212c0 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
212e0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 n>.<span.class="tok-kw">var</spa
21300 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 33 32 n>.y:.<span.class="tok-type">i32
21320 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
21340 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=
21360 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
21380 22 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 ">....x.+=.<span.class="tok-numb
213a0 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
213c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ="line">....y.+=.<span.class="to
213e0 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
21400 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
21420 73 3d 22 6c 69 6e 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
21440 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 ">try</span>.expect(x.==.<span.c
21460 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
21480 61 6e 3e 0a 3c 73 70 61 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
214a0 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
214c0 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">
214e0 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
21500 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">
21520 20 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
21540 6e 3e 20 28 79 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 n>.(y.!=.<span.class="tok-number
21560 22 3e 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 ">2</span>).{</span>.<span.class
21580 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
215a0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 -comment">//.This.compile.error.
215c0 6e 65 76 65 72 20 74 72 69 67 67 65 72 73 20 62 65 63 61 75 73 65 20 79 20 69 73 20 61 20 63 6f never.triggers.because.y.is.a.co
215e0 6d 70 74 69 6d 65 20 76 61 72 69 61 62 6c 65 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c mptime.variable,</span></span>.<
21600 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.
21620 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 64 20 73 6f 20 60 79 class="tok-comment">//.and.so.`y
21640 20 21 3d 20 32 60 20 69 73 20 61 20 63 6f 6d 70 74 69 6d 65 20 76 61 6c 75 65 2c 20 61 6e 64 20 .!=.2`.is.a.comptime.value,.and.
21660 74 68 69 73 20 69 66 20 69 73 20 73 74 61 74 69 63 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 64 2e this.if.is.statically.evaluated.
21680 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
216a0 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 69 6c 74 ">........<span.class="tok-built
216c0 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
216e0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 72 6f 6e 67 20 79 20 76 61 6c lass="tok-str">&quot;wrong.y.val
21700 75 65 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 ue&quot;</span>);</span>.<span.c
21720 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
21740 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
21760 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
21780 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
217a0 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
217c0 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a 69 $.<kbd>zig.test.comptime_vars.zi
217e0 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
21800 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 72 73 26 71 ">1/1.test.&quot;comptime.vars&q
21820 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uot;....OK</span>.<span.class="l
21840 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a ine">All.1.tests.passed.</span>.
21860 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>..........
21880 20 20 20 20 0a 0a 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 ............<h2.id="Integers"><a
218a0 20 68 72 65 66 3d 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 .href="#toc-Integers">Integers</
218c0 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 74 65 67 65 72 a>.<a.class="hdr".href="#Integer
218e0 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e s">..</a></h2>........<h3.id="In
21900 74 65 67 65 72 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 49 6e teger-Literals"><a.href="#toc-In
21920 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 69 74 65 72 61 6c 73 teger-Literals">Integer.Literals
21940 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 74 65 67 </a>.<a.class="hdr".href="#Integ
21960 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 er-Literals">..</a></h3>........
21980 3c 66 69 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
219a0 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 74 65 67 65 72 5f 6c ap"><cite.class="file">integer_l
219c0 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c iterals.zig</cite></figcaption><
219e0 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
21a00 61 6e 20 63 6c 61 73 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 an.class="tok-kw">const</span>.d
21a20 65 63 69 6d 61 6c 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 ecimal_int.=.<span.class="tok-nu
21a40 6d 62 65 72 22 3e 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 mber">98222</span>;</span>.<span
21a60 20 63 6c 61 73 73 3d 22 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
21a80 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 78 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 w">const</span>.hex_int.=.<span.
21aa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 66 66 3c 2f 73 70 61 6e 3e 3b 3c class="tok-number">0xff</span>;<
21ac0 2f 73 70 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.
21ae0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 class="tok-kw">const</span>.anot
21b00 68 65 72 5f 68 65 78 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e her_hex_int.=.<span.class="tok-n
21b20 75 6d 62 65 72 22 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 umber">0xFF</span>;</span>.<span
21b40 20 63 6c 61 73 73 3d 22 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
21b60 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 63 74 61 6c 5f 69 6e 74 20 3d 20 3c 73 70 61 w">const</span>.octal_int.=.<spa
21b80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 6f 37 35 35 3c 2f 73 70 61 6e n.class="tok-number">0o755</span
21ba0 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
21bc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 an.class="tok-kw">const</span>.b
21be0 69 6e 61 72 79 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 inary_int.=.<span.class="tok-num
21c00 62 65 72 22 3e 30 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 ber">0b11110000</span>;</span>.<
21c20 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.
21c40 63 6c 61 73 73 3d 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
21c60 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 62 65 20 70 6c 61 mment">//.underscores.may.be.pla
21c80 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 61 20 76 69 73 75 ced.between.two.digits.as.a.visu
21ca0 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 0a 3c 73 70 61 6e al.separator</span></span>.<span
21cc0 20 63 6c 61 73 73 3d 22 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
21ce0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6e 65 5f 62 69 6c 6c 69 6f 6e 20 3d 20 3c 73 w">const</span>.one_billion.=.<s
21d00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 5f 30 30 30 5f 30 30 30 pan.class="tok-number">1_000_000
21d20 5f 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 6c 61 73 73 3d _000</span>;</span>.<span.class=
21d40 22 6c 69 6e 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
21d60 74 3c 2f 73 70 61 6e 3e 20 62 69 6e 61 72 79 5f 6d 61 73 6b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 t</span>.binary_mask.=.<span.cla
21d80 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 5f 31 31 31 31 5f 31 31 31 31 3c 2f 73 ss="tok-number">0b1_1111_1111</s
21da0 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">
21dc0 3c 73 70 61 6e 20 63 6c 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
21de0 3e 20 70 65 72 6d 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 >.permissions.=.<span.class="tok
21e00 2d 6e 75 6d 62 65 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 -number">0o7_5_5</span>;</span>.
21e20 3c 73 70 61 6e 20 63 6c 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="
21e40 74 6f 6b 2d 6b 77 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 tok-kw">const</span>.big_address
21e60 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 46 46 .=.<span.class="tok-number">0xFF
21e80 38 30 5f 30 30 30 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 80_0000_0000_0000</span>;</span>
21ea0 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 20 20 </code></pre></figure>..........
21ec0 20 20 20 20 3c 68 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 ....<h3.id="Runtime-Integer-Valu
21ee0 65 73 22 3e 3c 61 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 es"><a.href="#toc-Runtime-Intege
21f00 72 2d 56 61 6c 75 65 73 22 3e 52 75 6e 74 69 6d 65 20 49 6e 74 65 67 65 72 20 56 61 6c 75 65 73 r-Values">Runtime.Integer.Values
21f20 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 75 6e 74 69 </a>.<a.class="hdr".href="#Runti
21f40 6d 65 2d 49 6e 74 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 me-Integer-Values">..</a></h3>..
21f60 20 20 20 20 20 20 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 ......<p>.......Integer.literals
21f80 20 68 61 76 65 20 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 .have.no.size.limitation,.and.if
21fa0 20 61 6e 79 20 75 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 .any.undefined.behavior.occurs,.
21fc0 20 20 20 20 20 20 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 ......the.compiler.catches.it...
21fe0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 .....</p>.......<p>.......Howeve
22000 72 2c 20 6f 6e 63 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 r,.once.an.integer.value.is.no.l
22020 6f 6e 67 65 72 20 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 onger.known.at.compile-time,.it.
22040 6d 75 73 74 20 68 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 must.have.a.......known.size,.an
22060 64 20 69 73 20 76 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 d.is.vulnerable.to.undefined.beh
22080 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 66 69 67 75 72 65 3e avior........</p>.......<figure>
220a0 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
220c0 65 20 63 6c 61 73 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 e.class="file">runtime_vs_compti
220e0 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c me.zig</cite></figcaption><pre><
22100 63 6f 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
22120 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
22140 73 73 3d 22 74 6f 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 ss="tok-fn">divide</span>(a:.<sp
22160 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 20 an.class="tok-type">i32</span>,.
22180 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 32 3c 2f 73 b:.<span.class="tok-type">i32</s
221a0 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
221c0 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
221e0 6e 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
22200 75 72 6e 3c 2f 73 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 urn</span>.a./.b;</span>.<span.c
22220 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
22240 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 74 68 ></figure>.......<p>.......In.th
22260 69 73 20 66 75 6e 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 is.function,.values.<code><span.
22280 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 20 61 6e 64 class="line">a</span></code>.and
222a0 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
222c0 6e 3e 3c 2f 63 6f 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 n></code>.are.known.only.at.runt
222e0 69 6d 65 2c 0a 20 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 ime,.......and.thus.this.divisio
22300 6e 20 6f 70 65 72 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 n.operation.is.vulnerable.to.bot
22320 68 20 3c 61 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 49 6e h.<a.href="#Integer-Overflow">In
22340 74 65 67 65 72 20 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 teger.Overflow</a>.and.......<a.
22360 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f href="#Division-by-Zero">Divisio
22380 6e 20 62 79 20 5a 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 n.by.Zero</a>........</p>.......
223a0 3c 70 3e 0a 20 20 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 <p>.......Operators.such.as.<cod
223c0 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 70 61 6e 3e 3c 2f 63 e><span.class="line">+</span></c
223e0 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 65 ode>.and.<code><span.class="line
22400 22 3e 2d 3c 2f 73 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 ">-</span></code>.cause.undefine
22420 64 20 62 65 68 61 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 d.behavior.on.......integer.over
22440 66 6c 6f 77 2e 20 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 flow..Alternative.operators.are.
22460 70 72 6f 76 69 64 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 provided.for.wrapping.and.satura
22480 74 69 6e 67 20 61 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 ting.arithmetic.on.all.targets..
224a0 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 2b ......<code><span.class="line">+
224c0 25 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 %</span></code>.and.<code><span.
224e0 63 6c 61 73 73 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 70 65 class="line">-%</span></code>.pe
22500 72 66 6f 72 6d 20 77 72 61 70 70 69 6e 67 20 61 72 69 74 68 6d 65 74 69 63 0a 20 20 20 20 20 20 rform.wrapping.arithmetic.......
22520 77 68 69 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 2b while.<code><span.class="line">+
22540 7c 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 |</span></code>.and.<code><span.
22560 63 6c 61 73 73 3d 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 class="line">-|</span></code>.pe
22580 72 66 6f 72 6d 20 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 rform.saturating.arithmetic.....
225a0 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 75 70 70 ...</p>.......<p>.......Zig.supp
225c0 6f 72 74 73 20 61 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 orts.arbitrary.bit-width.integer
225e0 73 2c 20 72 65 66 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 s,.referenced.by.using.......an.
22600 69 64 65 6e 74 69 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 identifier.of.<code>i</code>.or.
22620 3c 63 6f 64 65 3e 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 <code>u</code>.followed.by.digit
22640 73 2e 20 46 6f 72 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 s..For.example,.the.identifier..
22660 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
22680 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 37 3c 2f 73 70 61 6e 3e 3c 2f pan.class="tok-type">i7</span></
226a0 73 70 61 6e 3e 3c 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 span></code>.refers.to.a.signed.
226c0 37 2d 62 69 74 20 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 7-bit.integer..The.maximum.allow
226e0 65 64 20 62 69 74 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 ed.bit-width.of.an.......integer
22700 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .type.is.<code><span.class="line
22720 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 36 35 35 33 35 "><span.class="tok-number">65535
22740 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
22760 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
22780 3e 3c 61 20 68 72 65 66 3d 22 23 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e ><a.href="#Wrapping-Operations">
227a0 57 72 61 70 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 Wrapping.Operations</a></li>.</u
227c0 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 22 l>......................<h2.id="
227e0 46 6c 6f 61 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 6c 6f 61 74 73 22 3e 46 6c Floats"><a.href="#toc-Floats">Fl
22800 6f 61 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 oats</a>.<a.class="hdr".href="#F
22820 6c 6f 61 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 loats">..</a></h2>........<p>Zig
22840 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e .has.the.following.floating.poin
22860 74 20 74 79 70 65 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 t.types:</p>.......<ul>.........
22880 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"><
228a0 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 61 6e 3e span.class="tok-type">f16</span>
228c0 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 20 62 </span></code>.-.IEEE-754-2008.b
228e0 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 6f 64 65 inary16</li>...........<li><code
22900 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=
22920 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 2f 63 6f "tok-type">f32</span></span></co
22940 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 2f 6c 69 de>.-.IEEE-754-2008.binary32</li
22960 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
22980 73 3d 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">
229a0 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 45 45 2d f64</span></span></code>.-.IEEE-
229c0 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 20 20 20 754-2008.binary64</li>..........
229e0 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
22a00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e pan.class="tok-type">f128</span>
22a20 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 20 62 </span></code>.-.IEEE-754-2008.b
22a40 69 6e 61 72 79 31 32 38 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 inary128</li>...........<li><cod
22a60 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
22a80 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 61 6e 3e 3c ="tok-type">c_longdouble</span><
22aa0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6d 61 74 63 68 65 73 20 3c 63 6f 64 65 20 63 6c /span></code>.-.matches.<code.cl
22ac0 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 20 66 6f 72 20 74 ass="c">long.double</code>.for.t
22ae0 68 65 20 74 61 72 67 65 74 20 43 20 41 42 49 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e he.target.C.ABI</li>.......</ul>
22b00 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e 3c .......<h3.id="Float-Literals"><
22b20 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e 46 6c 6f a.href="#toc-Float-Literals">Flo
22b40 61 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 64 72 22 20 68 at.Literals</a>.<a.class="hdr".h
22b60 72 65 66 3d 22 23 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ref="#Float-Literals">..</a></h3
22b80 3e 0a 0a 20 20 20 20 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 >........<p>.......Float.literal
22ba0 73 20 68 61 76 65 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 s.have.type.<code><span.class="l
22bc0 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 6d 70 ine"><span.class="tok-type">comp
22be0 74 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 time_float</span></span></code>.
22c00 77 68 69 63 68 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 0a 20 20 20 20 which.is.guaranteed.to.have.....
22c20 20 20 74 68 65 20 73 61 6d 65 20 70 72 65 63 69 73 69 6f 6e 20 61 6e 64 20 6f 70 65 72 61 74 69 ..the.same.precision.and.operati
22c40 6f 6e 73 20 6f 66 20 74 68 65 20 6c 61 72 67 65 73 74 20 6f 74 68 65 72 20 66 6c 6f 61 74 69 6e ons.of.the.largest.other.floatin
22c60 67 20 70 6f 69 6e 74 20 74 79 70 65 2c 20 77 68 69 63 68 20 69 73 0a 20 20 20 20 20 20 3c 63 6f g.point.type,.which.is.......<co
22c80 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
22ca0 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 3c s="tok-type">f128</span></span><
22cc0 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 20 20 20 /code>........</p>.......<p>....
22ce0 20 20 20 46 6c 6f 61 74 20 6c 69 74 65 72 61 6c 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 ...Float.literals.<a.href="#Type
22d00 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 61 6e 79 20 66 6c 6f -Coercion">coerce</a>.to.any.flo
22d20 61 74 69 6e 67 20 70 6f 69 6e 74 20 74 79 70 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 6f 20 61 ating.point.type,.......and.to.a
22d40 6e 79 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 3c 2f ny.<a.href="#Integers">integer</
22d60 61 3e 20 74 79 70 65 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 66 72 61 63 74 69 6f a>.type.when.there.is.no.fractio
22d80 6e 61 6c 20 63 6f 6d 70 6f 6e 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 nal.component........</p>.......
22da0 3c 66 69 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
22dc0 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6c 6f 61 74 5f 6c 69 74 ap"><cite.class="file">float_lit
22de0 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 72 erals.zig</cite></figcaption><pr
22e00 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
22e20 20 63 6c 61 73 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 6c 6f .class="tok-kw">const</span>.flo
22e40 61 74 69 6e 67 5f 70 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ating_point.=.<span.class="tok-n
22e60 75 6d 62 65 72 22 3e 31 32 33 2e 30 45 2b 37 37 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a umber">123.0E+77</span>;</span>.
22e80 3c 73 70 61 6e 20 63 6c 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="
22ea0 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 66 6c 6f tok-kw">const</span>.another_flo
22ec0 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 31 32 at.=.<span.class="tok-number">12
22ee0 33 2e 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 3.0</span>;</span>.<span.class="
22f00 6c 69 6e 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
22f20 3c 2f 73 70 61 6e 3e 20 79 65 74 5f 61 6e 6f 74 68 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 </span>.yet_another.=.<span.clas
22f40 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 2e 30 65 2b 37 37 3c 2f 73 70 61 6e 3e 3b s="tok-number">123.0e+77</span>;
22f60 3c 2f 73 70 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
22f80 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
22fa0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 78 5f 66 6c 6f 61 s="tok-kw">const</span>.hex_floa
22fc0 74 69 6e 67 5f 70 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ting_point.=.<span.class="tok-nu
22fe0 6d 62 65 72 22 3e 30 78 31 30 33 2e 37 30 70 2d 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e mber">0x103.70p-5</span>;</span>
23000 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=
23020 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
23040 78 5f 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 x_float.=.<span.class="tok-numbe
23060 72 22 3e 30 78 31 30 33 2e 37 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e r">0x103.70</span>;</span>.<span
23080 20 63 6c 61 73 73 3d 22 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
230a0 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 5f 68 65 78 5f w">const</span>.yet_another_hex_
230c0 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 float.=.<span.class="tok-number"
230e0 3e 30 78 31 30 33 2e 37 30 50 2d 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >0x103.70P-5</span>;</span>.<spa
23100 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
23120 73 73 3d 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
23140 6e 74 22 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 nt">//.underscores.may.be.placed
23160 20 62 65 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 .between.two.digits.as.a.visual.
23180 73 65 70 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 separator</span></span>.<span.cl
231a0 61 73 73 3d 22 6c 69 6e 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">
231c0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 67 68 74 73 70 65 65 64 20 3d 20 3c 73 70 61 6e 20 const</span>.lightspeed.=.<span.
231e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 39 39 5f 37 39 32 5f 34 35 38 2e 30 class="tok-number">299_792_458.0
23200 30 30 5f 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 6c 61 73 00_000</span>;</span>.<span.clas
23220 73 3d 22 6c 69 6e 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
23240 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 6e 6f 73 65 63 6f 6e 64 20 3d 20 3c 73 70 61 6e 20 63 6c nst</span>.nanosecond.=.<span.cl
23260 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 30 30 5f 30 30 30 5f 30 30 31 3c 2f ass="tok-number">0.000_000_001</
23280 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"
232a0 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
232c0 6e 3e 20 6d 6f 72 65 5f 68 65 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e n>.more_hex.=.<span.class="tok-n
232e0 75 6d 62 65 72 22 3e 30 78 31 32 33 34 5f 35 36 37 38 2e 39 41 42 43 5f 43 44 45 46 70 2d 31 30 umber">0x1234_5678.9ABC_CDEFp-10
23300 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 66 69 </span>;</span></code></pre></fi
23320 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 6e gure>.......<p>.......There.is.n
23340 6f 20 73 79 6e 74 61 78 20 66 6f 72 20 4e 61 4e 2c 20 69 6e 66 69 6e 69 74 79 2c 20 6f 72 20 6e o.syntax.for.NaN,.infinity,.or.n
23360 65 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2e 20 46 6f 72 20 74 68 65 73 65 20 73 70 65 63 egative.infinity..For.these.spec
23380 69 61 6c 20 76 61 6c 75 65 73 2c 0a 20 20 20 20 20 20 6f 6e 65 20 6d 75 73 74 20 75 73 65 20 74 ial.values,.......one.must.use.t
233a0 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a he.standard.library:.......</p>.
233c0 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=
233e0 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6c 6f "zig-cap"><cite.class="file">flo
23400 61 74 5f 73 70 65 63 69 61 6c 5f 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 at_special_values.zig</cite></fi
23420 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=
23440 22 6c 69 6e 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
23460 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-
23480 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
234a0 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
234c0 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"
234e0 3e 3c 2f 73 70 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
23500 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e n.class="tok-kw">const</span>.in
23520 66 20 3d 20 73 74 64 2e 6d 61 74 68 2e 69 6e 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f f.=.std.math.inf(<span.class="to
23540 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-type">f32</span>);</span>.<spa
23560 6e 20 63 6c 61 73 73 3d 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-
23580 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 65 67 61 74 69 76 65 5f 69 6e 66 20 3d 20 kw">const</span>.negative_inf.=.
235a0 2d 73 74 64 2e 6d 61 74 68 2e 69 6e 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 -std.math.inf(<span.class="tok-t
235c0 79 70 65 22 3e 66 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 ype">f64</span>);</span>.<span.c
235e0 6c 61 73 73 3d 22 6c 69 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"
23600 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 6e 20 3d 20 73 74 64 2e 6d 61 74 68 2e 6e 61 6e >const</span>.nan.=.std.math.nan
23620 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 (<span.class="tok-type">f128</sp
23640 61 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 an>);</span></code></pre></figur
23660 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 6c 6f 61 74 69 6e 67 e>..............<h3.id="Floating
23680 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 -Point-Operations"><a.href="#toc
236a0 2d 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 -Floating-Point-Operations">Floa
236c0 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 20 3c 61 20 63 6c 61 ting.Point.Operations</a>.<a.cla
236e0 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f ss="hdr".href="#Floating-Point-O
23700 70 65 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 perations">..</a></h3>........<p
23720 3e 42 79 20 64 65 66 61 75 6c 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 61 >By.default.floating.point.opera
23740 74 69 6f 6e 73 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 tions.use.<code><span.class="lin
23760 65 22 3e 53 74 72 69 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2c 0a 20 20 e">Strict</span></code>.mode,...
23780 20 20 20 20 20 20 20 20 62 75 74 20 79 6f 75 20 63 61 6e 20 73 77 69 74 63 68 20 74 6f 20 3c 63 ........but.you.can.switch.to.<c
237a0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4f 70 74 69 6d 69 7a 65 64 ode><span.class="line">Optimized
237c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 20 6f 6e 20 61 20 70 65 72 2d 62 6c 6f </span></code>.mode.on.a.per-blo
237e0 63 6b 20 62 61 73 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 ck.basis:</p>.......<figure><fig
23800 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
23820 61 73 73 3d 22 66 69 6c 65 22 3e 66 6f 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 ass="file">foo.zig</cite></figca
23840 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
23860 6e 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</
23880 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
238a0 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
238c0 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
238e0 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
23900 70 61 6e 20 63 6c 61 73 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>.
23920 62 69 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e big.=.<span.class="tok-builtin">
23940 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
23960 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 6e ">f64</span>,.<span.class="tok-n
23980 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 umber">1</span>.&lt;&lt;.<span.c
239a0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 lass="tok-number">40</span>);</s
239c0 70 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>.
239e0 3c 73 70 61 6e 20 63 6c 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="
23a00 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 73 tok-kw">export</span>.<span.clas
23a20 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
23a40 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f 73 74 72 69 63 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c ="tok-fn">foo_strict</span>(x:.<
23a60 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>
23a80 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 ).<span.class="tok-type">f64</sp
23aa0 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">
23ac0 20 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<
23ae0 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 3e 0a 3c 73 70 /span>.x.+.big.-.big;</span>.<sp
23b00 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
23b20 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=
23b40 22 6c 69 6e 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
23b60 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
23b80 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
23ba0 6f 5f 6f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 o_optimized</span>(x:.<span.clas
23bc0 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 3c 73 70 61 6e 20 63 s="tok-type">f64</span>).<span.c
23be0 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 7b 3c 2f 73 70 lass="tok-type">f64</span>.{</sp
23c00 61 6e 3e 0a 3c 73 70 61 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
23c20 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 46 6c 6f 61 74 4d 6f .class="tok-builtin">@setFloatMo
23c40 64 65 3c 2f 73 70 61 6e 3e 28 2e 4f 70 74 69 6d 69 7a 65 64 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 de</span>(.Optimized);</span>.<s
23c60 70 61 6e 20 63 6c 61 73 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
23c80 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 69 67 20 ="tok-kw">return</span>.x.+.big.
23ca0 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 6e 65 22 -.big;</span>.<span.class="line"
23cc0 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><
23ce0 66 69 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-
23d00 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
23d20 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
23d40 62 75 69 6c 64 2d 6f 62 6a 20 66 6f 6f 2e 7a 69 67 20 2d 4f 20 52 65 6c 65 61 73 65 46 61 73 74 build-obj.foo.zig.-O.ReleaseFast
23d60 3c 2f 6b 62 64 3e 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 </kbd></span>.</samp></pre></fig
23d80 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 20 77 65 20 68 ure>.......<p>For.this.test.we.h
23da0 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 77 6f 20 6f 62 ave.to.separate.code.into.two.ob
23dc0 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 65 20 74 68 65 ject.files.-.......otherwise.the
23de0 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 74 68 65 20 76 .optimizer.figures.out.all.the.v
23e00 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 20 20 77 68 69 alues.at.compile-time,.......whi
23e20 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 3c 2f 70 3e 0a ch.operates.in.strict.mode.</p>.
23e40 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=
23e60 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6c 6f "zig-cap"><cite.class="file">flo
23e80 61 74 5f 6d 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 at_mode.zig</cite></figcaption><
23ea0 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
23ec0 61 6e 20 63 6c 61 73 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
23ee0 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"
23f00 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
23f20 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
23f40 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
23f60 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">
23f80 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
23fa0 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
23fc0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f 73 74 72 69 63 >.<span.class="tok-fn">foo_stric
23fe0 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>(x:.<span.class="tok-typ
24000 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">f64</span>).<span.class="tok-
24020 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 type">f64</span>;</span>.<span.c
24040 6c 61 73 73 3d 22 6c 69 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"
24060 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-
24080 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
240a0 6e 22 3e 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e n">foo_optimized</span>(x:.<span
240c0 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 3c 73 .class="tok-type">f64</span>).<s
240e0 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 3b pan.class="tok-type">f64</span>;
24100 3c 2f 73 70 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
24120 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
24140 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
24160 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
24180 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
241a0 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
241c0 61 6e 3e 0a 3c 73 70 61 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
241e0 20 63 6c 61 73 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 .class="tok-kw">const</span>.x.=
24200 20 3c 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 31 3c .<span.class="tok-number">0.001<
24220 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
24240 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
24260 22 3e 26 71 75 6f 74 3b 6f 70 74 69 6d 69 7a 65 64 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f ">&quot;optimized.=.{}\n&quot;</
24280 73 70 61 6e 3e 2c 20 2e 7b 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 28 78 29 7d 29 3b 3c 2f 73 70 span>,..{foo_optimized(x)});</sp
242a0 61 6e 3e 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 an>.<span.class="line">....print
242c0 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 72 (<span.class="tok-str">&quot;str
242e0 69 63 74 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 6f 6f 5f 73 ict.=.{}\n&quot;</span>,..{foo_s
24300 74 72 69 63 74 28 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 trict(x)});</span>.<span.class="
24320 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
24340 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
24360 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
24380 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
243a0 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 66 6c 6f 61 74 5f 6d 6f 64 65 2e 7a 69 67 20 66 6f >zig.build-exe.float_mode.zig.fo
243c0 6f 2e 6f 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 o.o</kbd></span>.<span.class="li
243e0 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 24 ne"></span>.<span.class="line">$
24400 20 3c 6b 62 64 3e 2e 2f 66 6c 6f 61 74 5f 6d 6f 64 65 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a .<kbd>./float_mode</kbd></span>.
24420 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6d 69 7a 65 64 20 3d 20 31 <span.class="line">optimized.=.1
24440 2e 30 65 2d 30 33 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .0e-03</span>.<span.class="line"
24460 3e 73 74 72 69 63 74 20 3d 20 39 2e 37 36 35 36 32 35 65 2d 30 34 3c 2f 73 70 61 6e 3e 0a 3c 2f >strict.=.9.765625e-04</span>.</
24480 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 samp></pre></figure>.......<p>Se
244a0 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 65 e.also:</p><ul>.<li><a.href="#se
244c0 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 6c tFloatMode">@setFloatMode</a></l
244e0 69 3e 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 i>.<li><a.href="#Division-by-Zer
24500 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 3e 0a 3c 2f 75 o">Division.by.Zero</a></li>.</u
24520 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 22 l>......................<h2.id="
24540 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 4f 70 65 72 61 74 6f Operators"><a.href="#toc-Operato
24560 72 73 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 rs">Operators</a>.<a.class="hdr"
24580 20 68 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 .href="#Operators">..</a></h2>..
245a0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 6f 70 65 72 ......<p>.......There.is.no.oper
245c0 61 74 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 ator.overloading..When.you.see.a
245e0 6e 20 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 n.operator.in.Zig,.you.know.that
24600 0a 20 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 .......it.is.doing.something.fro
24620 6d 20 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 m.this.table,.and.nothing.else..
24640 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 61 62 6c 65 2d 6f ......</p>.......<h3.id="Table-o
24660 66 2d 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 f-Operators"><a.href="#toc-Table
24680 2d 6f 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 -of-Operators">Table.of.Operator
246a0 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 61 62 6c s</a>.<a.class="hdr".href="#Tabl
246c0 65 2d 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 e-of-Operators">..</a></h3>.....
246e0 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">..
24700 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 54 61 .....<table>.........<caption>Ta
24720 62 6c 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 ble.of.Operators</caption>......
24740 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 20 20 ...<thead>.........<tr>.........
24760 20 20 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 ..<th.scope="col">Syntax</th>...
24780 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 52 65 6c 65 76 61 6e 74 ........<th.scope="col">Relevant
247a0 20 54 79 70 65 73 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d .Types</th>...........<th.scope=
247c0 22 63 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 "col">Description</th>..........
247e0 20 3c 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 .<th.scope="col">Example</th>...
24800 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 ......</tr>.........</thead>....
24820 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 .....<tbody>.........<tr>.......
24840 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 3c ....<th.scope="row"><pre><code><
24860 73 70 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 span.class="line">a.+.b</span>.<
24880 73 70 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 span.class="line">a.+=.b</span><
248a0 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 3e /code></pre></th>...........<td>
248c0 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>...............
248e0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 <li><a.href="#Integers">Integers
24900 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 </a></li>...............<li><a.h
24920 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ref="#Floats">Floats</a></li>...
24940 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>.
24960 20 20 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 ..........<td>Addition..........
24980 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 ....<ul>...............<li>Can.c
249a0 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e ause.<a.href="#Default-Operation
249c0 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c s">overflow</a>.for.integers.</l
249e0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 i>...............<li>Invokes.<a.
24a00 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 65 href="#Peer-Type-Resolution">Pee
24a20 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 70 r.Type.Resolution</a>.for.the.op
24a40 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 erands.</li>...............<li>S
24a60 65 65 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 ee.also.<a.href="#addWithOverflo
24a80 77 22 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 w">@addWithOverflow</a>.</li>...
24aa0 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>.
24ac0 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e ..........<td>.............<pre>
24ae0 3c 63 6f 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
24b00 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 2b 20 3c 73 70 lass="tok-number">2</span>.+.<sp
24b20 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 20 3d an.class="tok-number">5</span>.=
24b40 3d 20 3c 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
24b60 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 20 an></span></code></pre>.........
24b80 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 ..</td>.........</tr>.........<t
24ba0 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 72 r>...........<th.scope="row"><pr
24bc0 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 2b 25 20 e><code><span.class="line">a.+%.
24be0 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 2b 25 b</span>.<span.class="line">a.+%
24c00 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>....
24c20 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>....
24c40 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
24c60 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>............
24c80 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>..........
24ca0 20 3c 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 .<td>Wrapping.Addition..........
24cc0 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 47 75 61 72 61 ....<ul>...............<li>Guara
24ce0 6e 74 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 nteed.to.have.twos-complement.wr
24d00 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 apping.behavior.</li>...........
24d20 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 54 ....<li>Invokes.<a.href="#Peer-T
24d40 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 ype-Resolution">Peer.Type.Resolu
24d60 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 0a tion</a>.for.the.operands.</li>.
24d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 ..............<li>See.also.<a.hr
24da0 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 68 4f 76 ef="#addWithOverflow">@addWithOv
24dc0 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 erflow</a>.</li>.............</u
24de0 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
24e00 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
24e20 6c 61 73 73 3d 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
24e40 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ltin">@as</span>(<span.class="to
24e60 6b 2d 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 k-type">u32</span>,.std.math.max
24e80 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 75 33 32 3c 2f Int(<span.class="tok-type">u32</
24ea0 73 70 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 span>)).+%.<span.class="tok-numb
24ec0 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
24ee0 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 3c -number">0</span></span></code><
24f00 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>.........</
24f20 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
24f40 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
24f60 73 3d 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 s="line">a.+|.b</span>.<span.cla
24f80 73 73 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 ss="line">a.+|=.b</span></code><
24fa0 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>.......
24fc0 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.
24fe0 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 6c href="#Integers">Integers</a></l
25000 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>...........<
25020 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 20 41 64 /td>...........<td>Saturating.Ad
25040 64 69 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 dition..............<ul>........
25060 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 .......<li>Invokes.<a.href="#Pee
25080 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 r-Type-Resolution">Peer.Type.Res
250a0 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c olution</a>.for.the.operands.</l
250c0 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>...........<
250e0 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>.............
25100 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
25120 70 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
25140 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 2f 73 n>(<span.class="tok-type">u32</s
25160 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 61 73 pan>,.std.math.maxInt(<span.clas
25180 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 2b 7c 20 3c 73 70 s="tok-type">u32</span>)).+|.<sp
251a0 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 3d an.class="tok-number">1</span>.=
251c0 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<
251e0 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 33 /span>(<span.class="tok-type">u3
25200 32 3c 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 2</span>,.std.math.maxInt(<span.
25220 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 3c 2f 73 class="tok-type">u32</span>))</s
25240 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
25260 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>....
25280 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
252a0 65 3e 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 e><span.class="line">a.-.b</span
252c0 3e 0a 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 >.<span.class="line">a.-=.b</spa
252e0 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 3c n></code></pre></th>...........<
25300 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 td>.............<ul>............
25320 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 ...<li><a.href="#Integers">Integ
25340 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 3c ers</a></li>...............<li><
25360 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 3e a.href="#Floats">Floats</a></li>
25380 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
253a0 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 75 62 74 72 61 63 74 69 6f 6e 2e 0a 20 20 d>...........<td>Subtraction....
253c0 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
253e0 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 2d 4f 70 65 >Can.cause.<a.href="#Default-Ope
25400 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 74 65 67 65 rations">overflow</a>.for.intege
25420 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 6e 76 6f 6b rs.</li>...............<li>Invok
25440 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f es.<a.href="#Peer-Type-Resolutio
25460 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 n">Peer.Type.Resolution</a>.for.
25480 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 the.operands.</li>..............
254a0 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 75 62 57 69 74 68 4f .<li>See.also.<a.href="#subWithO
254c0 76 65 72 66 6c 6f 77 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f verflow">@subWithOverflow</a>.</
254e0 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>...........
25500 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>............
25520 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"><
25540 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>
25560 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 35 3c 2f 73 .-.<span.class="tok-number">5</s
25580 70 61 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 pan>.==.-<span.class="tok-number
255a0 22 3e 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 ">3</span></span></code></pre>..
255c0 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>....
255e0 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
25600 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
25620 22 3e 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 ">a.-%.b</span>.<span.class="lin
25640 65 22 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 e">a.-%=.b</span></code></pre></
25660 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>.............<
25680 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="#
256a0 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>.....
256c0 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>...
256e0 20 20 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 ........<td>Wrapping.Subtraction
25700 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>..............
25720 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 77 6f 73 2d 63 6f 6d .<li>Guaranteed.to.have.twos-com
25740 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a plement.wrapping.behavior.</li>.
25760 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 65 ..............<li>Invokes.<a.hre
25780 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 f="#Peer-Type-Resolution">Peer.T
257a0 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 ype.Resolution</a>.for.the.opera
257c0 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 20 nds.</li>...............<li>See.
257e0 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e also.<a.href="#subWithOverflow">
25800 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 @subWithOverflow</a>.</li>......
25820 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>....
25840 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
25860 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
25880 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
258a0 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
258c0 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>)
258e0 20 2d 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 .-%.<span.class="tok-number">1</
25900 73 70 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 span>.==.std.math.maxInt(<span.c
25920 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 3c 2f 73 70 61 lass="tok-type">u32</span>)</spa
25940 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>.
25960 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>......
25980 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>
259a0 3c 73 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 <span.class="line">a.-|.b</span>
259c0 0a 3c 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 .<span.class="line">a.-|=.b</spa
259e0 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 3c n></code></pre></th>...........<
25a00 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 td>.............<ul>............
25a20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 ...<li><a.href="#Integers">Integ
25a40 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ers</a></li>.............</ul>..
25a60 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 53 61 74 .........</td>...........<td>Sat
25a80 75 72 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 urating.Subtraction.............
25aa0 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 .<ul>...............<li>Invokes.
25ac0 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e <a.href="#Peer-Type-Resolution">
25ae0 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 Peer.Type.Resolution</a>.for.the
25b00 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c .operands.</li>.............</ul
25b20 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>
25b40 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
25b60 61 73 73 3d 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
25b80 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b tin">@as</span>(<span.class="tok
25ba0 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">u32</span>,.<span.class="
25bc0 74 6f 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 tok-number">0</span>).-|.<span.c
25be0 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 3c 73 lass="tok-number">1</span>.==.<s
25c00 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><
25c20 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>...........</
25c40 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>..
25c60 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
25c80 6f 64 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 ode><span.class="line">-a</span>
25ca0 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
25cc0 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>..............
25ce0 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
25d00 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.
25d20 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>..
25d40 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>
25d60 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 4e 65 67 61 ...........<td>.............Nega
25d80 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>..........
25da0 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 .....<li>Can.cause.<a.href="#Def
25dc0 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f ault-Operations">overflow</a>.fo
25de0 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 r.integers.</li>.............</u
25e00 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
25e20 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
25e40 6c 61 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 lass="line">-<span.class="tok-nu
25e60 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mber">1</span>.==.<span.class="t
25e80 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 ok-number">0</span>.-.<span.clas
25ea0 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 3c 2f s="tok-number">1</span></span></
25ec0 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>.....
25ee0 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>..........
25f00 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
25f20 6e 20 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 n.class="line">-%a</span></code>
25f40 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>......
25f60 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
25f80 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></
25fa0 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>...........
25fc0 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>............
25fe0 20 57 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 .Wrapping.Negation..............
26000 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 65 65 <ul>...............<li>Guarantee
26020 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 70 69 d.to.have.twos-complement.wrappi
26040 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 3c 2f ng.behavior.</li>.............</
26060 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
26080 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.
260a0 63 6c 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 class="line">-%<span.class="tok-
260c0 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=
260e0 22 74 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 "tok-type">i32</span>,.std.math.
26100 6d 69 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 minInt(<span.class="tok-type">i3
26120 32 3c 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 2</span>)).==.std.math.minInt(<s
26140 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>)
26160 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>...........<
26180 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>.
261a0 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><
261c0 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 2a 20 62 3c 2f 73 code><span.class="line">a.*.b</s
261e0 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 2a 3d 20 62 3c 2f pan>.<span.class="line">a.*=.b</
26200 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 20 20 span></code></pre></th>.........
26220 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 ..<td>.............<ul>.........
26240 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e ......<li><a.href="#Integers">In
26260 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 20 20 3c 6c tegers</a></li>...............<l
26280 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f i><a.href="#Floats">Floats</a></
262a0 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>...........
262c0 3c 2f 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 </td>...........<td>Multiplicati
262e0 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>............
26300 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
26320 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.
26340 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 integers.</li>...............<li
26360 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 >Invokes.<a.href="#Peer-Type-Res
26380 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
263a0 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 >.for.the.operands.</li>........
263c0 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 6d 75 .......<li>See.also.<a.href="#mu
263e0 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c lWithOverflow">@mulWithOverflow<
26400 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 20 /a>.</li>.............</ul>.....
26420 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>......
26440 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
26460 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 22 3e 32 3c ine"><span.class="tok-number">2<
26480 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
264a0 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 22 74 6f 6b 2d 6e ">5</span>.==.<span.class="tok-n
264c0 75 6d 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 umber">10</span></span></code></
264e0 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 pre>...........</td>.........</t
26500 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 r>.........<tr>...........<th.sc
26520 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 73 ope="row"><pre><code><span.class
26540 3d 22 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 ="line">a.*%.b</span>.<span.clas
26560 73 3d 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 s="line">a.*%=.b</span></code></
26580 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>........
265a0 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
265c0 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
265e0 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>...........</
26600 74 64 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 td>...........<td>Wrapping.Multi
26620 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 3e 0a 20 20 20 20 plication..............<ul>.....
26640 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 74 6f 20 68 61 76 65 ..........<li>Guaranteed.to.have
26660 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 20 62 65 68 61 76 69 .twos-complement.wrapping.behavi
26680 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b or.</li>...............<li>Invok
266a0 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f es.<a.href="#Peer-Type-Resolutio
266c0 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 n">Peer.Type.Resolution</a>.for.
266e0 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 the.operands.</li>..............
26700 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 69 74 68 4f .<li>See.also.<a.href="#mulWithO
26720 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 2e 3c 2f verflow">@mulWithOverflow</a>.</
26740 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>...........
26760 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>............
26780 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"><
267a0 73 70 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
267c0 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 73 an>(<span.class="tok-type">u8</s
267e0 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
26800 30 30 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 00</span>).*%.<span.class="tok-n
26820 75 6d 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 umber">2</span>.==.<span.class="
26840 74 6f 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 tok-number">144</span></span></c
26860 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>......
26880 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>...........
268a0 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
268c0 20 63 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 .class="line">a.*|.b</span>.<spa
268e0 6e 20 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 n.class="line">a.*|=.b</span></c
26900 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>..
26920 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
26940 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</
26960 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>.......
26980 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 61 74 69 ....</td>...........<td>Saturati
269a0 6e 67 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 ng.Multiplication..............<
269c0 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
269e0 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
26a00 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
26a20 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>.
26a40 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>..
26a60 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
26a80 73 3d 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
26aa0 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
26ac0 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
26ae0 2d 6e 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 -number">200</span>).*|.<span.cl
26b00 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 ass="tok-number">2</span>.==.<sp
26b20 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 6e 3e an.class="tok-number">255</span>
26b40 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>...........<
26b60 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>.
26b80 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><
26ba0 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 2f 20 62 3c 2f 73 code><span.class="line">a./.b</s
26bc0 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 2f 3d 20 62 3c 2f pan>.<span.class="line">a./=.b</
26be0 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 20 20 span></code></pre></th>.........
26c00 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 ..<td>.............<ul>.........
26c20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e ......<li><a.href="#Integers">In
26c40 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 20 20 3c 6c tegers</a></li>...............<l
26c60 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f i><a.href="#Floats">Floats</a></
26c80 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>...........
26ca0 3c 2f 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 </td>...........<td>Division....
26cc0 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
26ce0 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 2d 4f 70 65 >Can.cause.<a.href="#Default-Ope
26d00 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 74 65 67 65 rations">overflow</a>.for.intege
26d20 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 43 61 6e 20 63 rs.</li>...............<li>Can.c
26d40 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 5a 65 72 6f 22 ause.<a.href="#Division-by-Zero"
26d60 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 6e 74 65 67 65 >Division.by.Zero</a>.for.intege
26d80 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 43 61 6e 20 63 rs.</li>...............<li>Can.c
26da0 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 5a 65 72 6f 22 ause.<a.href="#Division-by-Zero"
26dc0 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 6c 6f 61 74 73 >Division.by.Zero</a>.for.floats
26de0 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 74 2d 4f 70 65 .in.<a.href="#Floating-Point-Ope
26e00 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 64 20 4d 6f 64 rations">FloatMode.Optimized.Mod
26e20 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 6c 69 3e 53 69 e</a>.</li>...............<li>Si
26e40 67 6e 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 gned.integer.operands.must.be.co
26e60 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 61 6e 64 20 70 6f 73 69 74 69 76 65 2e 20 49 6e 20 6f 74 mptime-known.and.positive..In.ot
26e80 68 65 72 20 63 61 73 65 73 2c 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c her.cases,.use.................<
26ea0 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 61 3e a.href="#divTrunc">@divTrunc</a>
26ec0 2c 0a 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 ,.................<a.href="#divF
26ee0 6c 6f 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 loor">@divFloor</a>,.or.........
26f00 20 20 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 ........<a.href="#divExact">@div
26f20 45 78 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 Exact</a>.instead...............
26f40 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 49 6e 76 6f 6b 65 73 .</li>...............<li>Invokes
26f60 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"
26f80 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
26fa0 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 75 e.operands.</li>.............</u
26fc0 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
26fe0 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
27000 6c 61 73 73 3d 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 lass="line"><span.class="tok-num
27020 62 65 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 ber">10</span>./.<span.class="to
27040 6b 2d 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 k-number">5</span>.==.<span.clas
27060 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 70 61 6e 3e 3c 2f s="tok-number">2</span></span></
27080 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>.....
270a0 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>..........
270c0 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
270e0 6e 20 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 n.class="line">a.%.b</span>.<spa
27100 6e 20 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 n.class="line">a.%=.b</span></co
27120 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>...
27140 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
27160 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 ><a.href="#Integers">Integers</a
27180 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 ></li>...............<li><a.href
271a0 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ="#Floats">Floats</a></li>......
271c0 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>....
271e0 20 20 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 .......<td>Remainder.Division...
27200 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
27220 69 3e 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 i>Can.cause.<a.href="#Division-b
27240 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 y-Zero">Division.by.Zero</a>.for
27260 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c .integers.</li>...............<l
27280 69 3e 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 i>Can.cause.<a.href="#Division-b
272a0 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 y-Zero">Division.by.Zero</a>.for
272c0 20 66 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 .floats.in.<a.href="#Floating-Po
272e0 69 6e 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 int-Operations">FloatMode.Optimi
27300 7a 65 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 zed.Mode</a>.</li>..............
27320 20 3c 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 .<li>Signed.or.floating-point.op
27340 65 72 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 erands.must.be.comptime-known.an
27360 64 20 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 d.positive..In.other.cases,.use.
27380 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 72 65 6d 22 3e 40 ................<a.href="#rem">@
273a0 72 65 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 rem</a>.or.................<a.hr
273c0 65 66 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 ef="#mod">@mod</a>.instead......
273e0 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 20 20 20 20 3c 6c ..........</li>...............<l
27400 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 i>Invokes.<a.href="#Peer-Type-Re
27420 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f solution">Peer.Type.Resolution</
27440 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 a>.for.the.operands.</li>.......
27460 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>.....
27480 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
274a0 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
274c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 25 20 3c 73 70 61 6e 20 ="tok-number">10</span>.%.<span.
274e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c class="tok-number">3</span>.==.<
27500 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>
27520 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>...........<
27540 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>.
27560 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><
27580 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 26 6c code><span.class="line">a.&lt;&l
275a0 74 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 t;.b</span>.<span.class="line">a
275c0 20 26 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 .&lt;&lt;=.b</span></code></pre>
275e0 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>............
27600 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=
27620 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>...
27640 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>.
27660 20 20 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 ..........<td>Bit.Shift.Left....
27680 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 20 20 3c ..........<ul>.................<
276a0 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 62 3c 2f 73 li><code><span.class="line">b</s
276c0 70 61 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 pan></code>.must.be.<a.href="#co
276e0 6d 70 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 mptime">comptime-known</a>.or.ha
27700 76 65 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 ve.a.type.with.log2.number.of.bi
27720 74 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 61 ts.as.<code><span.class="line">a
27740 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 20 20 </span></code>.</li>............
27760 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 45 78 61 ...<li>See.also.<a.href="#shlExa
27780 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ct">@shlExact</a>.</li>.........
277a0 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c ......<li>See.also.<a.href="#shl
277c0 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f WithOverflow">@shlWithOverflow</
277e0 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 20 20 a>.</li>.............</ul>......
27800 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 .....</td>...........<td>.......
27820 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
27840 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 22 3e 31 3c 2f ne"><span.class="tok-number">1</
27860 73 70 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 span>.&lt;&lt;.<span.class="tok-
27880 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 6c 61 73 73 3d number">8</span>.==.<span.class=
278a0 22 74 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 "tok-number">256</span></span></
278c0 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>.....
278e0 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>..........
27900 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
27920 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 20 62 3c 2f 73 70 n.class="line">a.&lt;&lt;|.b</sp
27940 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 6c 74 3b 26 6c 74 an>.<span.class="line">a.&lt;&lt
27960 3b 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>..
27980 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>..
279a0 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
279c0 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>..........
279e0 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>........
27a00 20 20 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 ...<td>Saturating.Bit.Shift.Left
27a20 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>..............
27a40 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
27a60 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>...........
27a80 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
27aa0 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>
27ac0 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>........
27ae0 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>.........
27b00 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
27b20 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 73 3c "><span.class="tok-builtin">@as<
27b40 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 38 /span>(<span.class="tok-type">u8
27b60 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
27b80 22 3e 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 ">1</span>).&lt;&lt;|.<span.clas
27ba0 73 3d 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 s="tok-number">8</span>.==.<span
27bc0 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></
27be0 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
27c00 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>...
27c20 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
27c40 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 67 74 3b 26 67 74 3b de><span.class="line">a.&gt;&gt;
27c60 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.&
27c80 67 74 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 gt;&gt;=.b</span></code></pre></
27ca0 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>.............<
27cc0 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="#
27ce0 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>.....
27d00 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>...
27d20 20 20 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 ........<td>Bit.Shift.Right.....
27d40 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c .........<ul>.................<l
27d60 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 62 3c 2f 73 70 i><code><span.class="line">b</sp
27d80 61 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 an></code>.must.be.<a.href="#com
27da0 70 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 ptime">comptime-known</a>.or.hav
27dc0 65 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 e.a.type.with.log2.number.of.bit
27de0 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 61 3c s.as.<code><span.class="line">a<
27e00 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 20 20 20 /span></code>.</li>.............
27e20 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 72 45 78 61 63 ..<li>See.also.<a.href="#shrExac
27e40 74 22 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 t">@shrExact</a>.</li>..........
27e60 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>........
27e80 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><
27ea0 73 70 61 6e 20 63 6c 61 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
27ec0 6f 6b 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 ok-number">10</span>.&gt;&gt;.<s
27ee0 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>.
27f00 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 ==.<span.class="tok-number">5</s
27f20 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>........
27f40 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>.........<
27f60 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
27f80 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 61 re><code><span.class="line">a.&a
27fa0 6d 70 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 mp;.b</span>.<span.class="line">
27fc0 61 20 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 a.&amp;=.b</span></code></pre></
27fe0 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>.............<
28000 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="#
28020 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>.....
28040 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>...
28060 20 20 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 ........<td>Bitwise.AND.........
28080 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 49 6e 76 6f .....<ul>...............<li>Invo
280a0 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 kes.<a.href="#Peer-Type-Resoluti
280c0 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 on">Peer.Type.Resolution</a>.for
280e0 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .the.operands.</li>.............
28100 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>...........
28120 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 <td>.............<pre><code><spa
28140 6e 20 63 6c 61 73 73 3d 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-
28160 6e 75 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 number">0b011</span>.&amp;.<span
28180 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 3c 2f 73 70 61 6e 3e .class="tok-number">0b101</span>
281a0 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 .==.<span.class="tok-number">0b0
281c0 30 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 3e 0a 20 20 01</span></span></code></pre>...
281e0 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>.....
28200 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
28220 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 22 w"><pre><code><span.class="line"
28240 3e 61 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 >a.|.b</span>.<span.class="line"
28260 3e 61 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 >a.|=.b</span></code></pre></th>
28280 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e ...........<td>.............<ul>
282a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 ...............<li><a.href="#Int
282c0 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 egers">Integers</a></li>........
282e0 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>......
28300 20 20 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 .....<td>Bitwise.OR.............
28320 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 .<ul>...............<li>Invokes.
28340 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e <a.href="#Peer-Type-Resolution">
28360 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 Peer.Type.Resolution</a>.for.the
28380 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c .operands.</li>.............</ul
283a0 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>
283c0 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
283e0 61 73 73 3d 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 ass="line"><span.class="tok-numb
28400 65 72 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 er">0b010</span>.|.<span.class="
28420 74 6f 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 tok-number">0b100</span>.==.<spa
28440 6e 20 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 n.class="tok-number">0b110</span
28460 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>...........
28480 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>
284a0 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>
284c0 3c 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 5e 20 62 3c 2f <code><span.class="line">a.^.b</
284e0 73 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 5e 3d 20 62 3c span>.<span.class="line">a.^=.b<
28500 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 20 /span></code></pre></th>........
28520 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 ...<td>.............<ul>........
28540 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 .......<li><a.href="#Integers">I
28560 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 ntegers</a></li>.............</u
28580 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
285a0 3e 42 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 >Bitwise.XOR..............<ul>..
285c0 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 .............<li>Invokes.<a.href
285e0 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 ="#Peer-Type-Resolution">Peer.Ty
28600 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e pe.Resolution</a>.for.the.operan
28620 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 ds.</li>.............</ul>......
28640 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 .....</td>...........<td>.......
28660 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
28680 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 22 3e 30 62 30 ne"><span.class="tok-number">0b0
286a0 31 31 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 11</span>.^.<span.class="tok-num
286c0 62 65 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 ber">0b101</span>.==.<span.class
286e0 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 2f 73 70 61 6e ="tok-number">0b110</span></span
28700 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 ></code></pre>...........</td>..
28720 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>.......
28740 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 3c ....<th.scope="row"><pre><code><
28760 73 70 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 span.class="line">~a</span></cod
28780 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>....
287a0 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>
287c0 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>
287e0 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>.........
28800 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>..........
28820 20 20 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 ...Bitwise.NOT............</td>.
28840 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e ..........<td>.............<pre>
28860 3c 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 73 70 61 6e 20 <code><span.class="line">~<span.
28880 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>(<
288a0 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>,
288c0 20 3c 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 .<span.class="tok-number">0b1010
288e0 31 31 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 1111</span>).==.<span.class="tok
28900 2d 6e 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 -number">0b01010000</span></span
28920 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 ></code></pre>...........</td>..
28940 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>.......
28960 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 3c ....<th.scope="row"><pre><code><
28980 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 73 3d span.class="line">a.<span.class=
289a0 22 74 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 "tok-kw">orelse</span>.b</span><
289c0 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 3e /code></pre></th>...........<td>
289e0 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>...............
28a00 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 74 69 6f 6e 61 <li><a.href="#Optionals">Optiona
28a20 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 6c 3e 0a 20 20 ls</a></li>.............</ul>...
28a40 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 49 66 20 3c ........</td>...........<td>If.<
28a60 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 3e code><span.class="line">a</span>
28a80 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 69 </code>.is.<code><span.class="li
28aa0 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 6c 3c ne"><span.class="tok-null">null<
28ac0 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 20 20 20 20 20 20 /span></span></code>,...........
28ae0 20 20 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 ............returns.<code><span.
28b00 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 20 28 22 64 class="line">b</span></code>.("d
28b20 65 66 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 efault.value"),.................
28b40 20 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 ..........otherwise.returns.the.
28b60 75 6e 77 72 61 70 70 65 64 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 unwrapped.value.of.<code><span.c
28b80 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 2e 0a 20 20 20 lass="line">a</span></code>.....
28ba0 20 20 20 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 ...........................Note.
28bc0 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 62 3c that.<code><span.class="line">b<
28be0 2f 73 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 /span></code>.may.be.a.value.of.
28c00 74 79 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 type.<a.href="#noreturn">noretur
28c20 6e 3c 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 n</a>............</td>..........
28c40 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
28c60 61 6e 20 63 6c 61 73 73 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
28c80 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 20 -kw">const</span>.value:.?<span.
28ca0 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
28cc0 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>
28ce0 3b 3c 2f 73 70 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
28d00 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.un
28d20 77 72 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 wrapped.=.value.<span.class="tok
28d40 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">orelse</span>.<span.class="
28d60 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>.
28d80 3c 73 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 <span.class="line">unwrapped.==.
28da0 3c 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
28dc0 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>........
28de0 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>.........<
28e00 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
28e20 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 2e 3f 3c re><code><span.class="line">a.?<
28e40 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 20 /span></code></pre></th>........
28e60 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 ...<td>.............<ul>........
28e80 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 3e .......<li><a.href="#Optionals">
28ea0 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 3c Optionals</a></li>.............<
28ec0 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>...........<
28ee0 74 64 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 td>.............Equivalent.to:..
28f00 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
28f20 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 22 3e s="line">a.<span.class="tok-kw">
28f40 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 6b 2d 6b orelse</span>.<span.class="tok-k
28f60 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
28f80 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>.......
28fa0 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>
28fc0 3c 73 70 61 6e 20 63 6c 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="
28fe0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3f 3c 73 70 tok-kw">const</span>.value:.?<sp
29000 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>.=
29020 20 3c 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 .<span.class="tok-number">5678</
29040 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"
29060 3e 76 61 6c 75 65 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d >value.?.==.<span.class="tok-num
29080 62 65 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 ber">5678</span></span></code></
290a0 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 pre>...........</td>.........</t
290c0 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 r>.........<tr>...........<th.sc
290e0 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 73 ope="row"><pre><code><span.class
29100 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 22 3e 63 ="line">a.<span.class="tok-kw">c
29120 61 74 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 atch</span>.b</span>.<span.class
29140 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 22 3e 63 ="line">a.<span.class="tok-kw">c
29160 61 74 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 atch</span>.|err|.b</span></code
29180 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>.....
291a0 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><
291c0 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 a.href="#Errors">Error.Unions</a
291e0 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>........
29200 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 64 65 3e ...</td>...........<td>If.<code>
29220 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
29240 65 3e 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 e>.is.an.<code><span.class="line
29260 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 "><span.class="tok-kw">error</sp
29280 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 20 an></span></code>,..............
292a0 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 61 .........returns.<code><span.cla
292c0 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 61 ss="line">b</span></code>.("defa
292e0 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 20 ult.value"),....................
29300 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 77 .......otherwise.returns.the.unw
29320 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 73 rapped.value.of.<code><span.clas
29340 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 20 s="line">a</span></code>........
29360 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 61 ........................Note.tha
29380 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 70 t.<code><span.class="line">b</sp
293a0 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 70 an></code>.may.be.a.value.of.typ
293c0 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 2f e.<a.href="#noreturn">noreturn</
293e0 61 3e 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 a>..............................
29400 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 65 ......<code><span.class="line">e
29420 72 72 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 rr</span></code>.is.the.<code><s
29440 70 61 6e 20 63 6c 61 73 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
29460 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 6f 64 65 3e k-kw">error</span></span></code>
29480 20 61 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 .and.is.in.scope.of.the.expressi
294a0 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 62 3c 2f 73 on.<code><span.class="line">b</s
294c0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 pan></code>............</td>....
294e0 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
29500 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
29520 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c s="tok-kw">const</span>.value:.<
29540 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</
29560 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 span>!<span.class="tok-type">u32
29580 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 22 3e 65 </span>.=.<span.class="tok-kw">e
295a0 72 72 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 rror</span>.Broken;</span>.<span
295c0 20 63 6c 61 73 73 3d 22 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
295e0 77 22 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 w">const</span>.unwrapped.=.valu
29600 65 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 e.<span.class="tok-kw">catch</sp
29620 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 an>.<span.class="tok-number">123
29640 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
29660 6e 65 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 ne">unwrapped.==.<span.class="to
29680 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
296a0 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>.......
296c0 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>...........<
296e0 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.
29700 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 6f 6b 2d class="line">a.<span.class="tok-
29720 6b 77 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 kw">and</span>.b</span></code></
29740 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>........
29760 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
29780 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c ref="#Primitive-Types">bool</a><
297a0 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>..........
297c0 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>...........
297e0 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">
29800 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 73 70 61 6e 20 63 a</span></code>.is.<code><span.c
29820 6c 61 73 73 3d 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
29840 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 3e 2c 20 72 l">false</span></span></code>,.r
29860 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 65 22 3e eturns.<code><span.class="line">
29880 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
298a0 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 20 20 20 20 an></span></code>...............
298c0 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 6e 67 20 3c ............without.evaluating.<
298e0 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 3e code><span.class="line">b</span>
29900 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 3c 63 6f 64 </code>..Otherwise,.returns.<cod
29920 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 63 e><span.class="line">b</span></c
29940 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 ode>............</td>...........
29960 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 <td>.............<pre><code><spa
29980 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 6b n.class="line">(<span.class="tok
299a0 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 61 73 73 3d -null">false</span>.<span.class=
299c0 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d "tok-kw">and</span>.<span.class=
299e0 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 70 61 6e "tok-null">true</span>).==.<span
29a00 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></
29a20 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
29a40 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>...
29a60 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
29a80 64 65 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 de><span.class="line">a.<span.cl
29aa0 61 73 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 ass="tok-kw">or</span>.b</span><
29ac0 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 3e /code></pre></th>...........<td>
29ae0 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>...............
29b00 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 3e 62 <li><a.href="#Primitive-Types">b
29b20 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 0a 20 ool</a></li>.............</ul>..
29b40 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 .........</td>...........<td>...
29b60 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 6c 61 73 73 ............If.<code><span.class
29b80 3d 22 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 ="line">a</span></code>.is.<code
29ba0 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=
29bc0 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
29be0 6f 64 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 ode>,.returns.<code><span.class=
29c00 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 74 72 "line"><span.class="tok-null">tr
29c20 75 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 ue</span></span></code>.........
29c40 20 20 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 ..................without.evalua
29c60 74 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 62 3c ting.<code><span.class="line">b<
29c80 2f 73 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 /span></code>..Otherwise,.return
29ca0 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 62 3c 2f 73 70 s.<code><span.class="line">b</sp
29cc0 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 an></code>............</td>.....
29ce0 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
29d00 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 73 e><span.class="line">(<span.clas
29d20 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 20 3c 73 70 61 6e 20 s="tok-null">false</span>.<span.
29d40 63 6c 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 class="tok-kw">or</span>.<span.c
29d60 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 lass="tok-null">true</span>).==.
29d80 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
29da0 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>..........
29dc0 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
29de0 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
29e00 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 21 61 3c 2f 73 70 ><code><span.class="line">!a</sp
29e20 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>...........
29e40 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>...........
29e60 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 ....<li><a.href="#Primitive-Type
29e80 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 s">bool</a></li>.............</u
29ea0 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
29ec0 3e 0a 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 >.............Boolean.NOT.......
29ee0 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 .....</td>...........<td>.......
29f00 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
29f20 6e 65 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 ne">!<span.class="tok-null">fals
29f40 65 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 6c e</span>.==.<span.class="tok-nul
29f60 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 2f 70 72 l">true</span></span></code></pr
29f80 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>
29fa0 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
29fc0 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="
29fe0 6c 69 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 line">a.==.b</span></code></pre>
2a000 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>............
2a020 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=
2a040 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>...
2a060 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
2a080 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 20 20 ">Floats</a></li>...............
2a0a0 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 3e 62 <li><a.href="#Primitive-Types">b
2a0c0 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 20 20 3c 6c 69 3e 3c ool</a></li>...............<li><
2a0e0 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 74 79 70 65 3c 2f a.href="#Primitive-Types">type</
2a100 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>.......
2a120 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>........
2a140 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 73 73 .......Returns.<code><span.class
2a160 3d 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 74 ="line"><span.class="tok-null">t
2a180 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 61 6e rue</span></span></code>.if.a.an
2a1a0 64 20 62 20 61 72 65 20 65 71 75 61 6c 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 d.b.are.equal,.otherwise.returns
2a1c0 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.
2a1e0 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 73 class="tok-null">false</span></s
2a200 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 73 pan></code>..............Invokes
2a220 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"
2a240 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
2a260 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 20 e.operands............</td>.....
2a280 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
2a2a0 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 73 e><span.class="line">(<span.clas
2a2c0 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 6e s="tok-number">1</span>.==.<span
2a2e0 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 3d .class="tok-number">1</span>).==
2a300 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
2a320 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 20 an></span></code></pre>.........
2a340 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 ..</td>.........</tr>.........<t
2a360 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 72 r>...........<th.scope="row"><pr
2a380 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 3d 3d 20 e><code><span.class="line">a.==.
2a3a0 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
2a3c0 6e 3e 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 n></span></code></pre></th>.....
2a3e0 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 ......<td>.............<ul>.....
2a400 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c ..........<li><a.href="#Optional
2a420 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 s">Optionals</a></li>...........
2a440 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>.........
2a460 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 63 6f ..<td>...............Returns.<co
2a480 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
2a4a0 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 3c s="tok-null">true</span></span><
2a4c0 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 /code>.if.a.is.<code><span.class
2a4e0 3d 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 6e ="line"><span.class="tok-null">n
2a500 75 6c 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 ull</span></span></code>,.otherw
2a520 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 6c ise.returns.<code><span.class="l
2a540 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
2a560 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 20 e</span></span></code>..........
2a580 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>..........
2a5a0 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"
2a5c0 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
2a5e0 6e 3e 20 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 n>.value:.?<span.class="tok-type
2a600 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-
2a620 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 3c 73 70 61 6e 20 null">null</span>;</span>.<span.
2a640 63 6c 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 class="line">value.==.<span.clas
2a660 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c s="tok-null">null</span></span><
2a680 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>....
2a6a0 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>.........
2a6c0 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
2a6e0 61 6e 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 an.class="line">a.!=.b</span></c
2a700 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>..
2a720 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
2a740 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</
2a760 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
2a780 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>.....
2a7a0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 ..........<li><a.href="#Primitiv
2a7c0 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 e-Types">bool</a></li>..........
2a7e0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 .....<li><a.href="#Primitive-Typ
2a800 65 73 22 3e 74 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f es">type</a></li>.............</
2a820 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
2a840 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><
2a860 73 70 61 6e 20 63 6c 61 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
2a880 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 3c 2f 63 6f ok-null">false</span></span></co
2a8a0 64 65 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 de>.if.a.and.b.are.equal,.otherw
2a8c0 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 6c ise.returns.<code><span.class="l
2a8e0 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
2a900 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 20 20 </span></span></code>...........
2a920 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 2d 52 ...Invokes.<a.href="#Peer-Type-R
2a940 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c esolution">Peer.Type.Resolution<
2a960 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 20 20 /a>.for.the.operands............
2a980 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>............
2a9a0 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 28 .<pre><code><span.class="line">(
2a9c0 3c 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
2a9e0 3e 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 31 3c >.!=.<span.class="tok-number">1<
2aa00 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 6c 6c /span>).==.<span.class="tok-null
2aa20 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 3c 2f 70 72 ">false</span></span></code></pr
2aa40 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>
2aa60 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
2aa80 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="
2aaa0 6c 69 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 line">a.&gt;.b</span></code></pr
2aac0 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>..........
2aae0 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
2ab00 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>.
2ab20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 ..............<li><a.href="#Floa
2ab40 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ts">Floats</a></li>.............
2ab60 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>...........
2ab80 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
2aba0 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=
2abc0 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
2abe0 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 62 2c 20 6f 74 68 ode>.if.a.is.greater.than.b,.oth
2ac00 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 61 73 73 erwise.returns.<code><span.class
2ac20 3d 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 66 ="line"><span.class="tok-null">f
2ac40 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 20 20 20 alse</span></span></code>.......
2ac60 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 .......Invokes.<a.href="#Peer-Ty
2ac80 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 pe-Resolution">Peer.Type.Resolut
2aca0 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 ion</a>.for.the.operands........
2acc0 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>........
2ace0 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
2ad00 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 32 3c 2f e">(<span.class="tok-number">2</
2ad20 73 70 61 6e 3e 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 span>.&gt;.<span.class="tok-numb
2ad40 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er">1</span>).==.<span.class="to
2ad60 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 65 k-null">true</span></span></code
2ad80 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>.........
2ada0 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
2adc0 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
2ade0 61 73 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 ass="line">a.&gt;=.b</span></cod
2ae00 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>....
2ae20 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>
2ae40 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>
2ae60 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=
2ae80 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>.......
2aea0 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>.....
2aec0 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 ......<td>...............Returns
2aee0 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.
2af00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 class="tok-null">true</span></sp
2af20 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 an></code>.if.a.is.greater.than.
2af40 6f 72 20 65 71 75 61 6c 20 74 6f 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 or.equal.to.b,.otherwise.returns
2af60 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.
2af80 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 73 class="tok-null">false</span></s
2afa0 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 73 pan></code>..............Invokes
2afc0 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"
2afe0 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
2b000 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 20 e.operands............</td>.....
2b020 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
2b040 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 73 e><span.class="line">(<span.clas
2b060 73 3d 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 s="tok-number">2</span>.&gt;=.<s
2b080 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>)
2b0a0 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<
2b0c0 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>......
2b0e0 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 .....</td>.........</tr>........
2b100 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e .<tr>...........<th.scope="row">
2b120 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 20 <pre><code><span.class="line">a.
2b140 26 6c 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 &lt;.b</span></code></pre></th>.
2b160 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a ..........<td>.............<ul>.
2b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 ..............<li><a.href="#Inte
2b1a0 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 gers">Integers</a></li>.........
2b1c0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 ......<li><a.href="#Floats">Floa
2b1e0 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ts</a></li>.............</ul>...
2b200 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>....
2b220 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ...........Returns.<code><span.c
2b240 6c 61 73 73 3d 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
2b260 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 66 20 l">true</span></span></code>.if.
2b280 61 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 a.is.less.than.b,.otherwise.retu
2b2a0 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 70 rns.<code><span.class="line"><sp
2b2c0 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>
2b2e0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f </span></code>..............Invo
2b300 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 kes.<a.href="#Peer-Type-Resoluti
2b320 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 on">Peer.Type.Resolution</a>.for
2b340 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 .the.operands............</td>..
2b360 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c .........<td>.............<pre><
2b380 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 70 61 6e 20 63 code><span.class="line">(<span.c
2b3a0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 20 lass="tok-number">1</span>.&lt;.
2b3c0 3c 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
2b3e0 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 >).==.<span.class="tok-null">tru
2b400 65 3c 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 e</span></span></code>></pre>...
2b420 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>.....
2b440 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
2b460 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 22 w"><pre><code><span.class="line"
2b480 3e 61 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 >a.&lt;=.b</span></code></pre></
2b4a0 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>.............<
2b4c0 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="#
2b4e0 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>.....
2b500 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">
2b520 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c Floats</a></li>.............</ul
2b540 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>
2b560 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
2b580 61 6e 20 63 6c 61 73 73 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
2b5a0 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 65 3e -null">true</span></span></code>
2b5c0 20 69 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 .if.a.is.less.than.or.equal.to.b
2b5e0 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ,.otherwise.returns.<code><span.
2b600 63 6c 61 73 73 3d 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
2b620 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 3e 2e 0a ll">false</span></span></code>..
2b640 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 ............Invokes.<a.href="#Pe
2b660 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 er-Type-Resolution">Peer.Type.Re
2b680 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 solution</a>.for.the.operands...
2b6a0 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 .........</td>...........<td>...
2b6c0 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ..........<pre><code><span.class
2b6e0 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 75 6d 62 65 72 ="line">(<span.class="tok-number
2b700 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">1</span>.&lt;=.<span.class="to
2b720 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 k-number">2</span>).==.<span.cla
2b740 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>
2b760 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>...
2b780 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>........
2b7a0 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
2b7c0 70 61 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 pan.class="line">a.++.b</span></
2b7e0 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>.
2b800 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>...............<
2b820 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c li><a.href="#Arrays">Arrays</a><
2b840 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>..........
2b860 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>...........
2b880 20 20 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 ..Array.concatenation...........
2b8a0 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 61 ...<ul>...............<li>Only.a
2b8c0 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d vailable.when.<code><span.class=
2b8e0 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
2b900 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
2b920 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
2b940 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>........
2b960 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>......
2b980 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
2b9a0 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=
2b9c0 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
2b9e0 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
2ba00 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
2ba20 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>.<
2ba40 73 70 61 6e 20 63 6c 61 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
2ba60 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 31 20 3d 20 5b 5f 5d ok-kw">const</span>.array1.=.[_]
2ba80 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
2baa0 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 31 3c 2f 73 70 >{<span.class="tok-number">1</sp
2bac0 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 32 3c 2f an>,<span.class="tok-number">2</
2bae0 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 6e 65 span>};</span>.<span.class="line
2bb00 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
2bb20 61 6e 3e 20 61 72 72 61 79 32 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.array2.=.[_]<span.class="tok
2bb40 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 22 74 -type">u32</span>{<span.class="t
2bb60 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-number">3</span>,<span.class=
2bb80 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">4</span>};</span>.<
2bba0 73 70 61 6e 20 63 6c 61 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
2bbc0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 6f 67 65 74 68 65 72 20 3d 20 61 ok-kw">const</span>.together.=.a
2bbe0 72 72 61 79 31 20 2b 2b 20 61 72 72 61 79 32 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c rray1.++.array2;</span>.<span.cl
2bc00 61 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 ass="line">mem.eql(<span.class="
2bc20 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 74 6f 67 65 74 tok-type">u32</span>,.&amp;toget
2bc40 68 65 72 2c 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 her,.&amp;[_]<span.class="tok-ty
2bc60 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 22 74 6f 6b 2d pe">u32</span>{<span.class="tok-
2bc80 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 73 3d 22 74 6f number">1</span>,<span.class="to
2bca0 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-number">2</span>,<span.class="
2bcc0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 tok-number">3</span>,<span.class
2bce0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 29 3c 2f 73 70 61 6e 3e 3c ="tok-number">4</span>})</span><
2bd00 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>....
2bd20 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>.........
2bd40 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
2bd60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 2a 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 an.class="line">a.**.b</span></c
2bd80 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>..
2bda0 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
2bdc0 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f i><a.href="#Arrays">Arrays</a></
2bde0 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>...........
2be00 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>............
2be20 20 41 72 72 61 79 20 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 .Array.multiplication...........
2be40 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 61 ...<ul>...............<li>Only.a
2be60 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d vailable.when.<code><span.class=
2be80 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
2bea0 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
2bec0 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
2bee0 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>........
2bf00 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>......
2bf20 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
2bf40 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=
2bf60 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
2bf80 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
2bfa0 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
2bfc0 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>.<
2bfe0 73 70 61 6e 20 63 6c 61 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
2c000 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
2c020 70 61 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
2c040 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
2c060 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
2c080 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
2c0a0 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
2c0c0 61 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&
2c0e0 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
2c100 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>.
2c120 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
2c140 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
2c160 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
2c180 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
2c1a0 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
2c1c0 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>.......
2c1e0 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>.....
2c200 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
2c220 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>.....
2c240 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
2c260 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
2c280 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.
2c2a0 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
2c2c0 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
2c2e0 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
2c300 70 61 6e 20 63 6c 61 73 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>.
2c320 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
2c340 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
2c360 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
2c380 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>.......
2c3a0 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>...........<
2c3c0 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.
2c3e0 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
2c400 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>.....
2c420 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
2c440 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
2c460 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>........
2c480 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><
2c4a0 73 70 61 6e 20 63 6c 61 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
2c4c0 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
2c4e0 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
2c500 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>;
2c520 3c 2f 73 70 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
2c540 20 63 6c 61 73 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
2c560 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
2c580 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
2c5a0 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>
2c5c0 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>.........<
2c5e0 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.
2c600 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
2c620 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></
2c640 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>........
2c660 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
2c680 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.
2c6a0 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>.
2c6c0 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>..
2c6e0 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
2c700 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
2c720 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>
2c740 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
2c760 61 73 73 3d 22 6c 69 6e 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">
2c780 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
2c7a0 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>.
2c7c0 3c 73 70 61 6e 20 63 6c 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="
2c7e0 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
2c800 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};
2c820 3c 2f 73 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.||
2c840 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
2c860 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>
2c880 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>.........<
2c8a0 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
2c8c0 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>..............<
2c8e0 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
2c900 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
2c920 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">..
2c940 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
2c960 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
2c980 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
2c9a0 3c 2f 73 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{}</
2c9c0 73 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.-
2c9e0 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
2ca00 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
2ca20 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">+.-.++.+%.
2ca40 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
2ca60 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;|</
2ca80 73 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;.^
2caa0 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</
2cac0 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
2cae0 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
2cb00 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
2cb20 70 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
2cb40 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>.<
2cb60 73 70 61 6e 20 63 6c 61 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
2cb80 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
2cba0 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">=.*=.*%=.*|=./=.%=.+=
2cbc0 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
2cbe0 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;=.^=.|=<
2cc00 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>.............
2cc20 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=
2cc40 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
2cc60 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
2cc80 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
2cca0 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"
2ccc0 3e 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 69 6f 6e 3e 3c >arrays.zig</cite></figcaption><
2cce0 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
2cd00 61 6e 20 63 6c 61 73 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
2cd20 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
2cd40 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
2cd60 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
2cd80 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
2cda0 73 3d 22 6c 69 6e 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
2cdc0 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d nst</span>.assert.=.<span.class=
2cde0 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
2ce00 61 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
2ce20 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 70 61 6e 3e 0a t;</span>).debug.assert;</span>.
2ce40 3c 73 70 61 6e 20 63 6c 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="
2ce60 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 6e tok-kw">const</span>.mem.=.<span
2ce80 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
2cea0 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;
2cec0 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 73 std&quot;</span>).mem;</span>.<s
2cee0 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
2cf00 6c 61 73 73 3d 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
2cf20 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 6e 3e 3c 2f 73 ment">//.array.literal</span></s
2cf40 70 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
2cf60 61 73 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 73 73 61 67 ass="tok-kw">const</span>.messag
2cf80 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 65 22 3e 75 38 e.=.[_]<span.class="tok-type">u8
2cfa0 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 74 72 22 3e 27 </span>{.<span.class="tok-str">'
2cfc0 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 2d 73 74 72 22 h'</span>,.<span.class="tok-str"
2cfe0 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 6f 6b 2d 73 74 >'e'</span>,.<span.class="tok-st
2d000 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r">'l'</span>,.<span.class="tok-
2d020 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f str">'l'</span>,.<span.class="to
2d040 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 0a 3c 73 70 61 k-str">'o'</span>.};</span>.<spa
2d060 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
2d080 73 73 3d 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
2d0a0 6e 74 22 3e 2f 2f 20 67 65 74 20 74 68 65 20 73 69 7a 65 20 6f 66 20 61 6e 20 61 72 72 61 79 3c nt">//.get.the.size.of.an.array<
2d0c0 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"
2d0e0 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</
2d100 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
2d120 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 20 3c 73 70 61 ">....assert(message.len.==.<spa
2d140 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>);<
2d160 2f 73 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
2d180 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
2d1a0 70 61 6e 20 63 6c 61 73 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
2d1c0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 69 k-comment">//.A.string.literal.i
2d1e0 73 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 s.a.single-item.pointer.to.an.ar
2d200 72 61 79 20 6c 69 74 65 72 61 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ray.literal.</span></span>.<span
2d220 20 63 6c 61 73 73 3d 22 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
2d240 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 61 6d 65 5f 6d 65 73 73 61 67 65 20 3d 20 3c w">const</span>.same_message.=.<
2d260 73 70 61 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
2d280 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 61 73 &quot;</span>;</span>.<span.clas
2d2a0 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
2d2c0 6e 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
2d2e0 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
2d300 69 6e 65 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 ine">....assert(mem.eql(<span.cl
2d320 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 26 61 6d 70 3b 6d ass="tok-type">u8</span>,.&amp;m
2d340 65 73 73 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 essage,.same_message));</span>.<
2d360 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
2d380 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
2d3a0 73 3d 22 6c 69 6e 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
2d3c0 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">
2d3e0 26 71 75 6f 74 3b 69 74 65 72 61 74 65 20 6f 76 65 72 20 61 6e 20 61 72 72 61 79 26 71 75 6f 74 &quot;iterate.over.an.array&quot
2d400 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
2d420 69 6e 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
2d440 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 r</span>.sum:.<span.class="tok-t
2d460 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=
2d480 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
2d4a0 70 61 6e 20 63 6c 61 73 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
2d4c0 3d 22 74 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 ="tok-kw">for</span>.(message).|
2d4e0 62 79 74 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 byte|.{</span>.<span.class="line
2d500 22 3e 20 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 ">........sum.+=.byte;</span>.<s
2d520 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
2d540 70 61 6e 20 63 6c 61 73 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
2d560 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 20 ="tok-kw">try</span>.expect(sum.
2d580 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 ==.<span.class="tok-str">'h'</sp
2d5a0 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c an>.+.<span.class="tok-str">'e'<
2d5c0 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 /span>.+.<span.class="tok-str">'
2d5e0 6c 27 3c 2f 73 70 61 6e 3e 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d l'</span>.*.<span.class="tok-num
2d600 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ber">2</span>.+.<span.class="tok
2d620 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 70 61 6e 20 -str">'o'</span>);</span>.<span.
2d640 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
2d660 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
2d680 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">//
2d6a0 20 6d 6f 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 .modifiable.array</span></span>.
2d6c0 3c 73 70 61 6e 20 63 6c 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="
2d6e0 74 6f 6b 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 tok-kw">var</span>.some_integers
2d700 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 31 30 30 3c :.[<span.class="tok-number">100<
2d720 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 69 33 /span>]<span.class="tok-type">i3
2d740 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
2d760 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 70 61 6e ">undefined</span>;</span>.<span
2d780 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
2d7a0 73 3d 22 6c 69 6e 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
2d7c0 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">
2d7e0 26 71 75 6f 74 3b 6d 6f 64 69 66 79 20 61 6e 20 61 72 72 61 79 26 71 75 6f 74 3b 3c 2f 73 70 61 &quot;modify.an.array&quot;</spa
2d800 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">.
2d820 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
2d840 6e 3e 20 28 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 29 20 7c 2a 69 74 65 6d 2c 20 69 7c 20 7b 3c n>.(some_integers).|*item,.i|.{<
2d860 2f 73 70 61 6e 3e 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">......
2d880 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 6f 6b 2d 62 75 69 6c ..item.*.=.<span.class="tok-buil
2d8a0 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 tin">@intCast</span>(<span.class
2d8c0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 69 29 3b 3c 2f 73 70 61 ="tok-type">i32</span>,.i);</spa
2d8e0 6e 3e 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
2d900 6e 3e 0a 3c 73 70 61 6e 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.
2d920 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
2d940 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 6f 6b 2d (some_integers[<span.class="tok-
2d960 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 number">10</span>].==.<span.clas
2d980 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 73 70 61 6e s="tok-number">10</span>);</span
2d9a0 3e 0a 3c 73 70 61 6e 20 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
2d9c0 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(
2d9e0 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 6f 6b 2d 6e some_integers[<span.class="tok-n
2da00 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 6c 61 73 73 umber">99</span>].==.<span.class
2da20 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 70 61 6e 3e ="tok-number">99</span>);</span>
2da40 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
2da60 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
2da80 61 73 73 3d 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
2daa0 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 77 6f 72 6b ent">//.array.concatenation.work
2dac0 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 70 61 6e 3e s.if.the.values.are.known</span>
2dae0 3c 2f 73 70 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
2db00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 74 20 63 6f 6d 70 69 .class="tok-comment">//.at.compi
2db20 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 63 6c 61 73 le.time</span></span>.<span.clas
2db40 73 3d 22 6c 69 6e 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
2db60 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 61 6e 20 63 nst</span>.part_one.=.[_]<span.c
2db80 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 73 70 61 lass="tok-type">i32</span>{.<spa
2dba0 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 2c 20 3c n.class="tok-number">1</span>,.<
2dbc0 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>
2dbe0 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 2f 73 70 ,.<span.class="tok-number">3</sp
2dc00 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<
2dc20 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
2dc40 6e 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</
2dc60 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 61 73 73 3d span>.part_two.=.[_]<span.class=
2dc80 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">i32</span>{.<span.cla
2dca0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">5</span>,.<span.
2dcc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">6</span>,.<sp
2dce0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">7</span>,.
2dd00 3c 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
2dd20 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 3c >.};</span>.<span.class="line"><
2dd40 73 70 61 6e 20 63 6c 61 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>
2dd60 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 74 5f 74 77 .all_of_it.=.part_one.++.part_tw
2dd80 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 3c 73 70 o;</span>.<span.class="line"><sp
2dda0 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
2ddc0 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">..
2dde0 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 3d 22 74 6f ..assert(mem.eql(<span.class="to
2de00 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 5f 6f 66 5f k-type">i32</span>,.&amp;all_of_
2de20 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 2d 74 79 70 it,.&amp;[_]<span.class="tok-typ
2de40 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 74 6f 6b 2d e">i32</span>{.<span.class="tok-
2de60 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">1</span>,.<span.class="t
2de80 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
2dea0 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
2dec0 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
2dee0 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
2df00 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>,
2df20 20 3c 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
2df40 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</
2df60 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 73 3d 22 6c span>.}));</span>.<span.class="l
2df80 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"
2dfa0 3e 3c 2f 73 70 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
2dfc0 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 65 6d 62 65 n.class="tok-comment">//.remembe
2dfe0 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 72 72 61 79 r.that.string.literals.are.array
2e000 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
2e020 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
2e040 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 6b 2d 73 74 pan>.hello.=.<span.class="tok-st
2e060 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
2e080 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
2e0a0 73 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 6c 64 20 3d ss="tok-kw">const</span>.world.=
2e0c0 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 6f 72 .<span.class="tok-str">&quot;wor
2e0e0 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 6e 20 63 6c ld&quot;</span>;</span>.<span.cl
2e100 61 73 73 3d 22 6c 69 6e 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">
2e120 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 20 3d 20 68 65 6c 6c 6f const</span>.hello_world.=.hello
2e140 20 2b 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b .++.<span.class="tok-str">&quot;
2e160 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 61 6e 3e 0a .&quot;</span>.++.world;</span>.
2e180 3c 73 70 61 6e 20 63 6c 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="
2e1a0 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 3e tok-kw">comptime</span>.{</span>
2e1c0 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 6d .<span.class="line">....assert(m
2e1e0 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
2e200 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 63 6c 61 73 </span>,.hello_world,.<span.clas
2e220 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 26 71 75 s="tok-str">&quot;hello.world&qu
2e240 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 73 ot;</span>));</span>.<span.class
2e260 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
2e280 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"><
2e2a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 2a 20 64 span.class="tok-comment">//.**.d
2e2c0 6f 65 73 20 72 65 70 65 61 74 69 6e 67 20 70 61 74 74 65 72 6e 73 3c 2f 73 70 61 6e 3e 3c 2f 73 oes.repeating.patterns</span></s
2e2e0 70 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
2e300 61 73 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 74 74 65 72 ass="tok-kw">const</span>.patter
2e320 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 75 6f 74 3b n.=.<span.class="tok-str">&quot;
2e340 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 73 73 3d 22 ab&quot;</span>.**.<span.class="
2e360 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
2e380 61 6e 20 63 6c 61 73 73 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
2e3a0 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
2e3c0 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 6d 65 6d 2e pan.class="line">....assert(mem.
2e3e0 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
2e400 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 74 6f 6b 2d pan>,.pattern,.<span.class="tok-
2e420 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 6e 3e 29 29 str">&quot;ababab&quot;</span>))
2e440 3b 3c 2f 73 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
2e460 70 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>.
2e480 3c 73 70 61 6e 20 63 6c 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="
2e4a0 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 6e 20 61 72 tok-comment">//.initialize.an.ar
2e4c0 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 70 61 6e 20 ray.to.zero</span></span>.<span.
2e4e0 63 6c 61 73 73 3d 22 6c 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
2e500 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 5d 3c 73 70 ">const</span>.all_zero.=.[_]<sp
2e520 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 7b 3c an.class="tok-type">u16</span>{<
2e540 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>
2e560 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 }.**.<span.class="tok-number">10
2e580 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
2e5a0 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
2e5c0 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
2e5e0 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">.
2e600 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 70 61 6e 20 ...assert(all_zero.len.==.<span.
2e620 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>);</
2e640 73 70 61 6e 3e 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 span>.<span.class="line">....ass
2e660 65 72 74 28 61 6c 6c 5f 7a 65 72 6f 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ert(all_zero[<span.class="tok-nu
2e680 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 mber">5</span>].==.<span.class="
2e6a0 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 73 tok-number">0</span>);</span>.<s
2e6c0 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.
2e6e0 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
2e700 3d 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
2e720 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 6f 20 69 6e ">//.use.compile-time.code.to.in
2e740 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 61 6e 3e 0a itialize.an.array</span></span>.
2e760 3c 73 70 61 6e 20 63 6c 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="
2e780 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 61 79 20 3d tok-kw">var</span>.fancy_array.=
2e7a0 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 22 6c 69 6e .init:.{</span>.<span.class="lin
2e7c0 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<
2e7e0 2f 73 70 61 6e 3e 20 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 /span>.initial_value:.[<span.cla
2e800 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 50 6f 69 6e 74 20 ss="tok-number">10</span>]Point.
2e820 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e =.<span.class="tok-null">undefin
2e840 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 73 3d 22 6c ed</span>;</span>.<span.class="l
2e860 69 6e 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 ine">....<span.class="tok-kw">fo
2e880 72 3c 2f 73 70 61 6e 3e 20 28 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 29 20 7c 2a 70 74 2c 20 69 r</span>.(initial_value).|*pt,.i
2e8a0 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">..
2e8c0 20 20 20 20 20 20 70 74 2e 2a 20 3d 20 50 6f 69 6e 74 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ......pt.*.=.Point{</span>.<span
2e8e0 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 20 3c .class="line">.............x.=.<
2e900 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 span.class="tok-builtin">@intCas
2e920 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e t</span>(<span.class="tok-type">
2e940 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 69 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 i32</span>,.i),</span>.<span.cla
2e960 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e ss="line">.............y.=.<span
2e980 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 .class="tok-builtin">@intCast</s
2e9a0 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c pan>(<span.class="tok-type">i32<
2e9c0 2f 73 70 61 6e 3e 2c 20 69 29 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 /span>,.i).*.<span.class="tok-nu
2e9e0 6d 62 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 mber">2</span>,</span>.<span.cla
2ea00 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 73 70 61 ss="line">........};</span>.<spa
2ea20 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
2ea40 6e 20 63 6c 61 73 73 3d 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="
2ea60 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 69 6e 69 74 20 69 6e 69 74 69 tok-kw">break</span>.:init.initi
2ea80 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 22 6c 69 al_value;</span>.<span.class="li
2eaa0 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"
2eac0 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
2eae0 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 3e n>.Point.=.<span.class="tok-kw">
2eb00 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 61 struct</span>.{</span>.<span.cla
2eb20 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 61 73 73 3d 22 74 6f ss="line">....x:.<span.class="to
2eb40 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 61 6e k-type">i32</span>,</span>.<span
2eb60 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 6e 20 63 6c 61 73 73 .class="line">....y:.<span.class
2eb80 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>.<
2eba0 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
2ebc0 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
2ebe0 73 73 3d 22 6c 69 6e 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
2ec00 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"
2ec20 3e 26 71 75 6f 74 3b 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 72 61 79 20 69 6e 69 74 69 61 >&quot;compile-time.array.initia
2ec40 6c 69 7a 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 lization&quot;</span>.{</span>.<
2ec60 73 70 61 6e 20 63 6c 61 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
2ec80 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 61 6e s="tok-kw">try</span>.expect(fan
2eca0 63 79 5f 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 cy_array[<span.class="tok-number
2ecc0 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">4</span>].x.==.<span.class="to
2ece0 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 73 70 61 k-number">4</span>);</span>.<spa
2ed00 6e 20 63 6c 61 73 73 3d 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="
2ed20 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 61 6e 63 79 5f tok-kw">try</span>.expect(fancy_
2ed40 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 34 array[<span.class="tok-number">4
2ed60 3c 2f 73 70 61 6e 3e 5d 2e 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e </span>].y.==.<span.class="tok-n
2ed80 75 6d 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 umber">8</span>);</span>.<span.c
2eda0 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
2edc0 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
2ede0 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">//.
2ee00 63 61 6c 6c 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6e call.a.function.to.initialize.an
2ee20 20 61 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 .array</span></span>.<span.class
2ee40 3d 22 6c 69 6e 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 ="line"><span.class="tok-kw">var
2ee60 3c 2f 73 70 61 6e 3e 20 6d 6f 72 65 5f 70 6f 69 6e 74 73 20 3d 20 5b 5f 5d 50 6f 69 6e 74 7b 6d </span>.more_points.=.[_]Point{m
2ee80 61 6b 65 50 6f 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 akePoint(<span.class="tok-number
2eea0 22 3e 33 3c 2f 73 70 61 6e 3e 29 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">3</span>)}.**.<span.class="tok
2eec0 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 6e -number">10</span>;</span>.<span
2eee0 20 63 6c 61 73 73 3d 22 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
2ef00 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
2ef20 22 3e 6d 61 6b 65 50 6f 69 6e 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ">makePoint</span>(x:.<span.clas
2ef40 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 50 6f 69 6e 74 20 7b s="tok-type">i32</span>).Point.{
2ef60 3c 2f 73 70 61 6e 3e 0a 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">....<
2ef80 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
2efa0 3e 20 50 6f 69 6e 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 >.Point{</span>.<span.class="lin
2efc0 65 22 3e 20 20 20 20 20 20 20 20 2e 78 20 3d 20 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 e">.........x.=.x,</span>.<span.
2efe0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 79 20 3d 20 78 20 2a 20 3c 73 class="line">.........y.=.x.*.<s
2f000 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>,
2f020 3c 2f 73 70 61 6e 3e 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">....}
2f040 3b 3c 2f 73 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
2f060 70 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
2f080 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
2f0a0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 72 72 61 79 20 69 6e 69 74 69 lass="tok-str">&quot;array.initi
2f0c0 61 6c 69 7a 61 74 69 6f 6e 20 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 26 71 75 alization.with.function.calls&qu
2f0e0 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=
2f100 22 6c 69 6e 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">
2f120 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 5b 3c 73 try</span>.expect(more_points[<s
2f140 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 5d pan.class="tok-number">4</span>]
2f160 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 .x.==.<span.class="tok-number">3
2f180 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
2f1a0 6e 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
2f1c0 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 5b 3c 73 70 61 6e </span>.expect(more_points[<span
2f1e0 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 2e 79 20 .class="tok-number">4</span>].y.
2f200 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 36 3c 2f 73 ==.<span.class="tok-number">6</s
2f220 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"
2f240 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
2f260 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 6f 72 65 5f 70 6f 69 6e 74 73 2e 6c 65 6e 20 3d 3d 20 3c pan>.expect(more_points.len.==.<
2f280 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e span.class="tok-number">10</span
2f2a0 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">}<
2f2c0 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
2f2e0 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
2f300 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 3c ">Shell</figcaption><pre><samp><
2f320 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 span.class="line">$.<kbd>zig.tes
2f340 74 20 61 72 72 61 79 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 t.arrays.zig</kbd></span>.<span.
2f360 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b 69 74 65 72 class="line">1/4.test.&quot;iter
2f380 61 74 65 20 6f 76 65 72 20 61 6e 20 61 72 72 61 79 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 ate.over.an.array&quot;....OK</s
2f3a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 34 20 74 65 73 74 pan>.<span.class="line">2/4.test
2f3c0 20 26 71 75 6f 74 3b 6d 6f 64 69 66 79 20 61 6e 20 61 72 72 61 79 26 71 75 6f 74 3b 2e 2e 2e 20 .&quot;modify.an.array&quot;....
2f3e0 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 34 OK</span>.<span.class="line">3/4
2f400 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 72 61 79 20 69 .test.&quot;compile-time.array.i
2f420 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e nitialization&quot;....OK</span>
2f440 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 34 20 74 65 73 74 20 26 71 75 .<span.class="line">4/4.test.&qu
2f460 6f 74 3b 61 72 72 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 ot;array.initialization.with.fun
2f480 63 74 69 6f 6e 20 63 61 6c 6c 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c ction.calls&quot;....OK</span>.<
2f4a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 34 20 74 65 73 74 73 20 70 61 span.class="line">All.4.tests.pa
2f4c0 73 73 65 64 2e 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 ssed.</span>.</samp></pre></figu
2f4e0 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 3c re>.......<p>See.also:</p><ul>.<
2f500 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 3c li><a.href="#for">for</a></li>.<
2f520 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 3c li><a.href="#Slices">Slices</a><
2f540 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 41 6e 6f 6e 79 /li>.</ul>.........<h3.id="Anony
2f560 6d 6f 75 73 2d 4c 69 73 74 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f mous-List-Literals"><a.href="#to
2f580 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 4c 69 73 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 c-Anonymous-List-Literals">Anony
2f5a0 6d 6f 75 73 20 4c 69 73 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d mous.List.Literals</a>.<a.class=
2f5c0 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 4c 69 73 74 2d 4c 69 74 65 "hdr".href="#Anonymous-List-Lite
2f5e0 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 53 69 6d 69 rals">..</a></h3>........<p>Simi
2f600 6c 61 72 20 74 6f 20 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 lar.to.<a.href="#Enum-Literals">
2f620 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 Enum.Literals</a>.and.<a.href="#
2f640 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
2f660 6d 6f 75 73 20 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 0a 20 20 20 20 20 20 74 mous.Struct.Literals</a>.......t
2f680 68 65 20 74 79 70 65 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 61 72 72 61 he.type.can.be.omitted.from.arra
2f6a0 79 20 6c 69 74 65 72 61 6c 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 y.literals:</p>.......<figure><f
2f6c0 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.
2f6e0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 6e 6f 6e 5f 6c 69 73 74 2e 7a 69 67 3c 2f 63 69 74 65 class="file">anon_list.zig</cite
2f700 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
2f720 6c 61 73 73 3d 22 6c 69 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"
2f740 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=
2f760 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
2f780 61 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
2f7a0 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="
2f7c0 6c 69 6e 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
2f7e0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 </span>.expect.=.std.testing.exp
2f800 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"><
2f820 2f 73 70 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.
2f840 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
2f860 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 75 73 .class="tok-str">&quot;anonymous
2f880 20 6c 69 73 74 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e .list.literal.syntax&quot;</span
2f8a0 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">..
2f8c0 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
2f8e0 3e 20 61 72 72 61 79 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 >.array:.[<span.class="tok-numbe
2f900 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 r">4</span>]<span.class="tok-typ
2f920 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f e">u8</span>.=..{<span.class="to
2f940 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-number">11</span>,.<span.class
2f960 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ="tok-number">22</span>,.<span.c
2f980 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 lass="tok-number">33</span>,.<sp
2f9a0 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 2f 73 70 61 6e 3e 7d an.class="tok-number">44</span>}
2f9c0 3b 3c 2f 73 70 61 6e 3e 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">....
2f9e0 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>.
2fa00 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 expect(array[<span.class="tok-nu
2fa20 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 22 mber">0</span>].==.<span.class="
2fa40 74 6f 6b 2d 6e 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 tok-number">11</span>);</span>.<
2fa60 73 70 61 6e 20 63 6c 61 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
2fa80 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 s="tok-kw">try</span>.expect(arr
2faa0 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 31 3c 2f 73 ay[<span.class="tok-number">1</s
2fac0 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
2fae0 22 3e 32 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 ">22</span>);</span>.<span.class
2fb00 3d 22 6c 69 6e 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"
2fb20 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 >try</span>.expect(array[<span.c
2fb40 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 20 3d 3d 20 3c lass="tok-number">2</span>].==.<
2fb60 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 33 3c 2f 73 70 61 6e span.class="tok-number">33</span
2fb80 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">..
2fba0 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
2fbc0 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 22 74 6f 6b 2d >.expect(array[<span.class="tok-
2fbe0 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 63 6c 61 73 73 number">3</span>].==.<span.class
2fc00 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e ="tok-number">44</span>);</span>
2fc20 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
2fc40 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
2fc60 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
2fc80 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
2fca0 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 6e 6f 6e 5f 6c 69 73 ="line">$.<kbd>zig.test.anon_lis
2fcc0 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t.zig</kbd></span>.<span.class="
2fce0 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 6c line">1/1.test.&quot;anonymous.l
2fd00 69 73 74 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f ist.literal.syntax&quot;....OK</
2fd20 73 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 6c 6c 20 31 20 74 span>.<span.class="line">All.1.t
2fd40 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 ests.passed.</span>.</samp></pre
2fd60 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 66 20 74 68 ></figure>.......<p>.......If.th
2fd80 65 72 65 20 69 73 20 6e 6f 20 74 79 70 65 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6c 6f 63 ere.is.no.type.in.the.result.loc
2fda0 61 74 69 6f 6e 20 74 68 65 6e 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 6c 69 73 74 20 6c 69 74 ation.then.an.anonymous.list.lit
2fdc0 65 72 61 6c 20 61 63 74 75 61 6c 6c 79 0a 20 20 20 20 20 20 74 75 72 6e 73 20 69 6e 74 6f 20 61 eral.actually.......turns.into.a
2fde0 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 3e 20 77 69 .<a.href="#struct">struct</a>.wi
2fe00 74 68 20 6e 75 6d 62 65 72 65 64 20 66 69 65 6c 64 20 6e 61 6d 65 73 3a 0a 20 20 20 20 20 20 3c th.numbered.field.names:.......<
2fe20 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
2fe40 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"
2fe60 3e 69 6e 66 65 72 5f 6c 69 73 74 5f 6c 69 74 65 72 61 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f >infer_list_literal.zig</cite></
2fe80 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
2fea0 73 3d 22 6c 69 6e 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
2fec0 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
2fee0 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.
2ff00 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;<
2ff20 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
2ff40 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
2ff60 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 pan>.expect.=.std.testing.expect
2ff80 3b 3c 2f 73 70 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
2ffa0 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
2ffc0 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
2ffe0 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 6e 6f 6e 79 6d ass="tok-str">&quot;fully.anonym
30000 6f 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c ous.list.literal&quot;</span>.{<
30020 2f 73 70 61 6e 3e 0a 3c 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
30040 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 64 75 pan.class="tok-kw">try</span>.du
30060 6d 70 28 2e 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 mp(.{.<span.class="tok-builtin">
30080 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
300a0 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">u32</span>,.<span.class="tok-n
300c0 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 umber">1234</span>),.<span.class
300e0 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.
30100 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-type">f64</span>,.<sp
30120 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 70 61 an.class="tok-number">12.34</spa
30140 6e 3e 29 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 75 65 n>),.<span.class="tok-null">true
30160 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 26 </span>,.<span.class="tok-str">&
30180 71 75 6f 74 3b 68 69 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 quot;hi&quot;</span>});</span>.<
301a0 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
301c0 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
301e0 73 3d 22 6c 69 6e 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
30200 3c 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 6d </span>.<span.class="tok-fn">dum
30220 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 2d p</span>(args:.<span.class="tok-
30240 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
30260 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>
30280 0a 3c 73 70 61 6e 20 63 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
302a0 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
302c0 72 67 73 2e 40 26 71 75 6f 74 3b 30 26 71 75 6f 74 3b 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 rgs.@&quot;0&quot;.==.<span.clas
302e0 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
30300 61 6e 3e 0a 3c 73 70 61 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
30320 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
30340 74 28 61 72 67 73 2e 40 26 71 75 6f 74 3b 31 26 71 75 6f 74 3b 20 3d 3d 20 3c 73 70 61 6e 20 63 t(args.@&quot;1&quot;.==.<span.c
30360 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 3b lass="tok-number">12.34</span>);
30380 3c 2f 73 70 61 6e 3e 0a 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">....<
303a0 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
303c0 78 70 65 63 74 28 61 72 67 73 2e 40 26 71 75 6f 74 3b 32 26 71 75 6f 74 3b 29 3b 3c 2f 73 70 61 xpect(args.@&quot;2&quot;);</spa
303e0 6e 3e 0a 3c 73 70 61 6e 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.
30400 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
30420 28 61 72 67 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 (args.@&quot;3&quot;[<span.class
30440 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e ="tok-number">0</span>].==.<span
30460 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 29 3b 3c 2f 73 .class="tok-str">'h'</span>);</s
30480 70 61 6e 3e 0a 3c 73 70 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
304a0 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
304c0 63 74 28 61 72 67 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 ct(args.@&quot;3&quot;[<span.cla
304e0 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 73 70 ss="tok-number">1</span>].==.<sp
30500 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 61 6e 3e 29 3b 3c an.class="tok-str">'i'</span>);<
30520 2f 73 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
30540 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>
30560 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
30580 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 3c 73 70 61 6e ell</figcaption><pre><samp><span
305a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 69 6e .class="line">$.<kbd>zig.test.in
305c0 66 65 72 5f 6c 69 73 74 5f 6c 69 74 65 72 61 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e fer_list_literal.zig</kbd></span
305e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 >.<span.class="line">1/1.test.&q
30600 75 6f 74 3b 66 75 6c 6c 79 20 61 6e 6f 6e 79 6d 6f 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c uot;fully.anonymous.list.literal
30620 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
30640 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e "line">All.1.tests.passed.</span
30660 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 0a >.</samp></pre></figure>........
30680 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d .......<h3.id="Multidimensional-
306a0 41 72 72 61 79 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4d 75 6c 74 69 64 69 6d 65 6e Arrays"><a.href="#toc-Multidimen
306c0 73 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 3e 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 sional-Arrays">Multidimensional.
306e0 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 20 68 72 65 66 3d 22 Arrays</a>.<a.class="hdr".href="
30700 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 c2 a7 3c 2f 61 3e #Multidimensional-Arrays">..</a>
30720 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 75 6c 74 69 64 69 6d 65 </h3>........<p>.......Multidime
30740 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 73 20 63 61 6e 20 62 65 20 63 72 65 61 74 65 64 20 62 79 nsional.arrays.can.be.created.by
30760 20 6e 65 73 74 69 6e 67 20 61 72 72 61 79 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .nesting.arrays:.......</p>.....
30780 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
307a0 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 64 69 -cap"><cite.class="file">multidi
307c0 6d 65 6e 73 69 6f 6e 61 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e mensional.zig</cite></figcaption
307e0 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"><
30800 73 70 61 6e 20 63 6c 61 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>
30820 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"
30840 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
30860 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>);</
30880 73 70 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
308a0 6c 61 73 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
308c0 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>.<
308e0 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.
30900 63 6c 61 73 73 3d 22 6c 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
30920 22 3e 63 6f 6e 73 74 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 ">const</span>.mat4x4.=.[<span.c
30940 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 5b 3c 73 70 61 lass="tok-number">4</span>][<spa
30960 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
30980 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 7b pan.class="tok-type">f32</span>{
309a0 3c 2f 73 70 61 6e 3e 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 </span>.<span.class="line">....[
309c0 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 73 70 _]<span.class="tok-type">f32</sp
309e0 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 2e an>{.<span.class="tok-number">1.
30a00 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 0</span>,.<span.class="tok-numbe
30a20 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 6b 2d r">0.0</span>,.<span.class="tok-
30a40 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 73 3d number">0.0</span>,.<span.class=
30a60 22 74 6f 6b 2d 6e 75 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 "tok-number">0.0</span>.},</span
30a80 3e 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 >.<span.class="line">....[_]<spa
30aa0 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>{.<
30ac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 span.class="tok-number">0.0</spa
30ae0 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 2e 30 n>,.<span.class="tok-number">1.0
30b00 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
30b20 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 6b 2d 6e ">0.0</span>,.<span.class="tok-n
30b40 75 6d 62 65 72 22 3e 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 umber">1.0</span>.},</span>.<spa
30b60 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 20 63 6c 61 73 n.class="line">....[_]<span.clas
30b80 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 70 61 6e 20 63 s="tok-type">f32</span>{.<span.c
30ba0 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 3c 73 lass="tok-number">0.0</span>,.<s
30bc0 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
30be0 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 2e 30 3c >,.<span.class="tok-number">1.0<
30c00 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"
30c20 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 20 63 6c 61 73 >0.0</span>.},</span>.<span.clas
30c40 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 3d 22 74 6f 6b s="line">....[_]<span.class="tok
30c60 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">f32</span>{.<span.class="
30c80 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 20 63 6c tok-number">0.0</span>,.<span.cl
30ca0 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
30cc0 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 3e an.class="tok-number">0.0</span>
30ce0 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 2e 30 3c 2f ,.<span.class="tok-number">1.0</
30d00 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 69 6e span>.},</span>.<span.class="lin
30d20 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">
30d40 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>
30d60 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 6d 75 6c .<span.class="tok-str">&quot;mul
30d80 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e tidimensional.arrays&quot;</span
30da0 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">..
30dc0 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
30de0 63 63 65 73 73 20 74 68 65 20 32 44 20 61 72 72 61 79 20 62 79 20 69 6e 64 65 78 69 6e 67 20 74 ccess.the.2D.array.by.indexing.t
30e00 68 65 20 6f 75 74 65 72 20 61 72 72 61 79 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 69 6e 6e he.outer.array,.and.then.the.inn
30e20 65 72 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 er.array.</span></span>.<span.cl
30e40 61 73 73 3d 22 6c 69 6e 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-
30e60 6b 77 22 3e 74 72 79 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 kw">try</span>.expect(mat4x4[<sp
30e80 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 5b an.class="tok-number">1</span>][
30ea0 3c 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
30ec0 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 31 >].==.<span.class="tok-number">1
30ee0 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="
30f00 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"
30f20 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">/
30f40 2f 20 48 65 72 65 20 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 /.Here.we.iterate.with.for.loops
30f60 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
30f80 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 3c e">....<span.class="tok-kw">for<
30fa0 2f 73 70 61 6e 3e 20 28 6d 61 74 34 78 34 29 20 7c 72 6f 77 2c 20 72 6f 77 5f 69 6e 64 65 78 7c /span>.(mat4x4).|row,.row_index|
30fc0 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">...
30fe0 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 .....<span.class="tok-kw">for</s
31000 70 61 6e 3e 20 28 72 6f 77 29 20 7c 63 65 6c 6c 2c 20 63 6f 6c 75 6d 6e 5f 69 6e 64 65 78 7c 20 pan>.(row).|cell,.column_index|.
31020 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">....
31040 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c ........<span.class="tok-kw">if<
31060 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 6e 64 65 /span>.(row_index.==.column_inde
31080 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 22 3e 20 x).{</span>.<span.class="line">.
310a0 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-
310c0 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 20 3c 73 kw">try</span>.expect(cell.==.<s
310e0 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
31100 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">..
31120 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 73 3d 22 ..........}</span>.<span.class="
31140 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 6c 61 line">........}</span>.<span.cla
31160 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
31180 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><
311a0 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
311c0 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>
311e0 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
31200 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2e 7a <kbd>zig.test.multidimensional.z
31220 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
31240 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e e">1/1.test.&quot;multidimension
31260 61 6c 20 61 72 72 61 79 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 al.arrays&quot;....OK</span>.<sp
31280 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 an.class="line">All.1.tests.pass
312a0 65 64 2e 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 ed.</span>.</samp></pre></figure
312c0 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 65 6e 74 69 6e 65 6c >...............<h3.id="Sentinel
312e0 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f -Terminated-Arrays"><a.href="#to
31300 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 53 65 c-Sentinel-Terminated-Arrays">Se
31320 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 20 3c 61 20 ntinel-Terminated.Arrays</a>.<a.
31340 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d class="hdr".href="#Sentinel-Term
31360 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 inated-Arrays">..</a></h3>......
31380 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 3c 73 70 ..<p>.......The.syntax.<code><sp
313a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 4e 3a 78 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 an.class="line">[N:x]T</span></c
313c0 6f 64 65 3e 20 64 65 73 63 72 69 62 65 73 20 61 6e 20 61 72 72 61 79 20 77 68 69 63 68 20 68 61 ode>.describes.an.array.which.ha
313e0 73 20 61 20 73 65 6e 74 69 6e 65 6c 20 65 6c 65 6d 65 6e 74 20 6f 66 20 76 61 6c 75 65 20 3c 63 s.a.sentinel.element.of.value.<c
31400 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 73 70 61 6e 3e 3c ode><span.class="line">x</span><
31420 2f 63 6f 64 65 3e 20 61 74 20 74 68 65 0a 20 20 20 20 20 20 69 6e 64 65 78 20 63 6f 72 72 65 73 /code>.at.the.......index.corres
31440 70 6f 6e 64 69 6e 67 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 ponding.to.<code><span.class="li
31460 6e 65 22 3e 6c 65 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 ne">len</span></code>........</p
31480 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
314a0 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 6e s="zig-cap"><cite.class="file">n
314c0 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 2f 63 69 74 65 3e 3c ull_terminated_array.zig</cite><
314e0 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
31500 73 73 3d 22 6c 69 6e 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
31520 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
31540 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
31560 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;
31580 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
315a0 6e 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</
315c0 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
315e0 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
31600 70 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
31620 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
31640 6c 61 73 73 3d 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 lass="tok-str">&quot;null.termin
31660 61 74 65 64 20 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 ated.array&quot;</span>.{</span>
31680 0a 3c 73 70 61 6e 20 63 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
316a0 61 73 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 20 ass="tok-kw">const</span>.array.
316c0 3d 20 5b 5f 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c =.[_:<span.class="tok-number">0<
316e0 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 38 /span>]<span.class="tok-type">u8
31700 3c 2f 73 70 61 6e 3e 20 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 </span>.{<span.class="tok-number
31720 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">1</span>,.<span.class="tok-num
31740 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">2</span>,.<span.class="tok-
31760 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 74 number">3</span>,.<span.class="t
31780 6f 6b 2d 6e 75 6d 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 ok-number">4</span>};</span>.<sp
317a0 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
317c0 61 73 73 3d 22 6c 69 6e 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-
317e0 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
31800 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 61 s="tok-builtin">@TypeOf</span>(a
31820 72 72 61 79 29 20 3d 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 rray).==.[<span.class="tok-numbe
31840 72 22 3e 34 3c 2f 73 70 61 6e 3e 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d r">4</span>:<span.class="tok-num
31860 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ber">0</span>]<span.class="tok-t
31880 79 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 ype">u8</span>);</span>.<span.cl
318a0 61 73 73 3d 22 6c 69 6e 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-
318c0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 2e 6c 65 6e 20 kw">try</span>.expect(array.len.
318e0 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 3c 2f 73 ==.<span.class="tok-number">4</s
31900 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"
31920 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
31940 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 22 74 pan>.expect(array[<span.class="t
31960 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c ok-number">4</span>].==.<span.cl
31980 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
319a0 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></
319c0 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
319e0 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<
31a00 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><samp><span.cla
31a20 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 6e 75 6c 6c 5f 74 ss="line">$.<kbd>zig.test.null_t
31a40 65 72 6d 69 6e 61 74 65 64 5f 61 72 72 61 79 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e erminated_array.zig</kbd></span>
31a60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 .<span.class="line">1/1.test.&qu
31a80 6f 74 3b 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 61 72 72 61 79 26 71 75 6f 74 3b 2e 2e ot;null.terminated.array&quot;..
31aa0 2e 20 4f 4b 3c 2f 73 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 ..OK</span>.<span.class="line">A
31ac0 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 ll.1.tests.passed.</span>.</samp
31ae0 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 6c ></pre></figure>.......<p>See.al
31b00 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 65 6e 74 69 6e so:</p><ul>.<li><a.href="#Sentin
31b20 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 74 69 6e 65 6c el-Terminated-Pointers">Sentinel
31b40 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 69 3e 0a 3c 6c -Terminated.Pointers</a></li>.<l
31b60 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 64 2d i><a.href="#Sentinel-Terminated-
31b80 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
31ba0 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 20 20 20 20 20 es</a></li>.</ul>...............
31bc0 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 20 68 72 65 66 ........<h2.id="Vectors"><a.href
31be0 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 20 3c 61 20 63 ="#toc-Vectors">Vectors</a>.<a.c
31c00 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 c2 a7 3c 2f 61 lass="hdr".href="#Vectors">..</a
31c20 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 65 63 74 6f 72 ></h2>........<p>.......A.vector
31c40 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 20 68 72 65 66 .is.a.group.of.booleans,.<a.href
31c60 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 3c 61 20 68 72 ="#Integers">Integers</a>,.<a.hr
31c80 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 20 3c 61 20 68 ef="#Floats">Floats</a>,.or.<a.h
31ca0 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 77 68 69 ref="#Pointers">Pointers</a>.whi
31cc0 63 68 20 61 72 65 20 6f 70 65 72 61 74 65 64 20 6f 6e 0a 20 20 20 20 20 20 69 6e 20 70 61 72 61 ch.are.operated.on.......in.para
31ce0 6c 6c 65 6c 20 75 73 69 6e 67 20 53 49 4d 44 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 20 56 65 llel.using.SIMD.instructions..Ve
31d00 63 74 6f 72 20 74 79 70 65 73 20 61 72 65 20 63 72 65 61 74 65 64 20 77 69 74 68 20 74 68 65 20 ctor.types.are.created.with.the.
31d20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 22 builtin.function.<a.href="#Type"
31d40 3e 40 54 79 70 65 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 6f 72 20 75 73 69 6e 67 20 74 68 65 20 73 >@Type</a>,.......or.using.the.s
31d60 68 6f 72 74 68 61 6e 64 20 66 75 6e 63 74 69 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c horthand.function.<code><span.cl
31d80 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 3c 2f 73 70 61 6e ass="line">std.meta.Vector</span
31da0 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 20 ></code>........</p>.......<p>..
31dc0 20 20 20 20 20 56 65 63 74 6f 72 73 20 73 75 70 70 6f 72 74 20 74 68 65 20 73 61 6d 65 20 62 75 .....Vectors.support.the.same.bu
31de0 69 6c 74 69 6e 20 6f 70 65 72 61 74 6f 72 73 20 61 73 20 74 68 65 69 72 20 75 6e 64 65 72 6c 79 iltin.operators.as.their.underly
31e00 69 6e 67 20 62 61 73 65 20 74 79 70 65 73 2e 20 54 68 65 73 65 20 6f 70 65 72 61 74 69 6f 6e 73 ing.base.types..These.operations
31e20 20 61 72 65 20 70 65 72 66 6f 72 6d 65 64 0a 20 20 20 20 20 20 65 6c 65 6d 65 6e 74 2d 77 69 73 .are.performed.......element-wis
31e40 65 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 76 65 63 74 6f 72 20 6f 66 20 74 68 65 20 73 61 e,.and.return.a.vector.of.the.sa
31e60 6d 65 20 6c 65 6e 67 74 68 20 61 73 20 74 68 65 20 69 6e 70 75 74 20 76 65 63 74 6f 72 73 2e 20 me.length.as.the.input.vectors..
31e80 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 20 20 20 20 This.includes:.......</p>.......
31ea0 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 63 20 28 3c <ul>...........<li>Arithmetic.(<
31ec0 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 70 61 6e 3e code><span.class="line">+</span>
31ee0 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
31f00 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 61 6e 20 63 ">-</span></code>,.<code><span.c
31f20 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 20 3c 63 6f lass="line">/</span></code>,.<co
31f40 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 6e 3e 3c 2f de><span.class="line">*</span></
31f60 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 code>,..........................
31f80 3c 63 6f 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
31fa0 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 3c 2f 73 70 lass="tok-builtin">@divFloor</sp
31fc0 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 63 an></span></code>,.<code><span.c
31fe0 6c 61 73 73 3d 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
32000 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 6f 64 65 3e ltin">@sqrt</span></span></code>
32020 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
32040 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 65 69 6c 3c 2f 73 70 61 6e .class="tok-builtin">@ceil</span
32060 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>,................
32080 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
320a0 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
320c0 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 29 3c 2f 6c g</span></span></code>,.etc.)</l
320e0 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 72 61 74 6f i>...........<li>Bitwise.operato
32100 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 26 67 74 rs.(<code><span.class="line">&gt
32120 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 73 70 61 6e ;&gt;</span></code>,.<code><span
32140 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 63 .class="line">&lt;&lt;</span></c
32160 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 26 ode>,.<code><span.class="line">&
32180 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 20 20 20 20 amp;</span></code>,.............
321a0 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 73 70 61 6e .....................<code><span
321c0 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 3e 2c 20 3c .class="line">|</span></code>,.<
321e0 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 70 61 6e 3e code><span.class="line">~</span>
32200 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 20 20 3c 6c </code>,.etc.)</li>...........<l
32220 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 65 3e 3c 73 i>Comparison.operators.(<code><s
32240 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 3c 2f 63 6f pan.class="line">&lt;</span></co
32260 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 26 67 de>,.<code><span.class="line">&g
32280 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 6e 20 63 6c t;</span></code>,.<code><span.cl
322a0 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 20 65 74 63 ass="line">==</span></code>,.etc
322c0 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 3e 0a 20 20 .)</li>.......</ul>.......<p>...
322e0 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 61 20 6d 61 ....It.is.prohibited.to.use.a.ma
32300 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 73 63 61 6c th.operator.on.a.mixture.of.scal
32320 61 72 73 20 28 69 6e 64 69 76 69 64 75 61 6c 20 6e 75 6d 62 65 72 73 29 20 61 6e 64 20 76 65 63 ars.(individual.numbers).and.vec
32340 74 6f 72 73 2e 0a 20 20 20 20 20 20 5a 69 67 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 3c 61 20 tors........Zig.provides.the.<a.
32360 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 6c 74 69 6e href="#splat">@splat</a>.builtin
32380 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 61 72 73 20 .to.easily.convert.from.scalars.
323a0 74 6f 20 76 65 63 74 6f 72 73 2c 20 61 6e 64 20 69 74 20 73 75 70 70 6f 72 74 73 20 3c 61 20 68 to.vectors,.and.it.supports.<a.h
323c0 72 65 66 3d 22 23 72 65 64 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 0a 20 20 20 20 20 20 ref="#reduce">@reduce</a>.......
323e0 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 20 63 6f 6e and.array.indexing.syntax.to.con
32400 76 65 72 74 20 66 72 6f 6d 20 76 65 63 74 6f 72 73 20 74 6f 20 73 63 61 6c 61 72 73 2e 20 56 65 vert.from.vectors.to.scalars..Ve
32420 63 74 6f 72 73 20 61 6c 73 6f 20 73 75 70 70 6f 72 74 20 61 73 73 69 67 6e 6d 65 6e 74 20 74 6f ctors.also.support.assignment.to
32440 20 61 6e 64 20 66 72 6f 6d 0a 20 20 20 20 20 20 66 69 78 65 64 2d 6c 65 6e 67 74 68 20 61 72 72 .and.from.......fixed-length.arr
32460 61 79 73 20 77 69 74 68 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 2e 0a ays.with.comptime.known.length..
32480 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 72 ......</p>.......<p>.......For.r
324a0 65 61 72 72 61 6e 67 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 77 69 74 68 69 6e 20 61 6e 64 20 62 earranging.elements.within.and.b
324c0 65 74 77 65 65 6e 20 76 65 63 74 6f 72 73 2c 20 5a 69 67 20 70 72 6f 76 69 64 65 73 20 74 68 65 etween.vectors,.Zig.provides.the
324e0 20 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 61 3e .<a.href="#shuffle">@shuffle</a>
32500 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 73 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 74 3c 2f .and.<a.href="#select">@select</
32520 61 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 3c a>.functions........</p>.......<
32540 70 3e 0a 20 20 20 20 20 20 4f 70 65 72 61 74 69 6f 6e 73 20 6f 6e 20 76 65 63 74 6f 72 73 20 73 p>.......Operations.on.vectors.s
32560 68 6f 72 74 65 72 20 74 68 61 6e 20 74 68 65 20 74 61 72 67 65 74 20 6d 61 63 68 69 6e 65 27 73 horter.than.the.target.machine's
32580 20 6e 61 74 69 76 65 20 53 49 4d 44 20 73 69 7a 65 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 .native.SIMD.size.will.typically
325a0 20 63 6f 6d 70 69 6c 65 20 74 6f 20 73 69 6e 67 6c 65 20 53 49 4d 44 0a 20 20 20 20 20 20 69 6e .compile.to.single.SIMD.......in
325c0 73 74 72 75 63 74 69 6f 6e 73 2c 20 77 68 69 6c 65 20 76 65 63 74 6f 72 73 20 6c 6f 6e 67 65 72 structions,.while.vectors.longer
325e0 20 74 68 61 6e 20 74 68 65 20 74 61 72 67 65 74 20 6d 61 63 68 69 6e 65 27 73 20 6e 61 74 69 76 .than.the.target.machine's.nativ
32600 65 20 53 49 4d 44 20 73 69 7a 65 20 77 69 6c 6c 20 63 6f 6d 70 69 6c 65 20 74 6f 20 6d 75 6c 74 e.SIMD.size.will.compile.to.mult
32620 69 70 6c 65 20 53 49 4d 44 0a 20 20 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 20 49 66 iple.SIMD.......instructions..If
32640 20 61 20 67 69 76 65 6e 20 6f 70 65 72 61 74 69 6f 6e 20 64 6f 65 73 6e 27 74 20 68 61 76 65 20 .a.given.operation.doesn't.have.
32660 53 49 4d 44 20 73 75 70 70 6f 72 74 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 61 72 63 68 69 SIMD.support.on.the.target.archi
32680 74 65 63 74 75 72 65 2c 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 77 69 6c 6c 20 64 65 66 61 75 tecture,.the.compiler.will.defau
326a0 6c 74 0a 20 20 20 20 20 20 74 6f 20 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20 65 61 63 68 20 76 65 lt.......to.operating.on.each.ve
326c0 63 74 6f 72 20 65 6c 65 6d 65 6e 74 20 6f 6e 65 20 61 74 20 61 20 74 69 6d 65 2e 20 5a 69 67 20 ctor.element.one.at.a.time..Zig.
326e0 73 75 70 70 6f 72 74 73 20 61 6e 79 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 76 65 63 74 supports.any.comptime-known.vect
32700 6f 72 20 6c 65 6e 67 74 68 20 75 70 20 74 6f 20 32 5e 33 32 2d 31 2c 0a 20 20 20 20 20 20 61 6c or.length.up.to.2^32-1,.......al
32720 74 68 6f 75 67 68 20 73 6d 61 6c 6c 20 70 6f 77 65 72 73 20 6f 66 20 74 77 6f 20 28 32 2d 36 34 though.small.powers.of.two.(2-64
32740 29 20 61 72 65 20 6d 6f 73 74 20 74 79 70 69 63 61 6c 2e 20 4e 6f 74 65 20 74 68 61 74 20 65 78 ).are.most.typical..Note.that.ex
32760 63 65 73 73 69 76 65 6c 79 20 6c 6f 6e 67 20 76 65 63 74 6f 72 20 6c 65 6e 67 74 68 73 20 28 65 cessively.long.vector.lengths.(e
32780 2e 67 2e 20 32 5e 32 30 29 20 6d 61 79 0a 20 20 20 20 20 20 72 65 73 75 6c 74 20 69 6e 20 63 6f .g..2^20).may.......result.in.co
327a0 6d 70 69 6c 65 72 20 63 72 61 73 68 65 73 20 6f 6e 20 63 75 72 72 65 6e 74 20 76 65 72 73 69 6f mpiler.crashes.on.current.versio
327c0 6e 73 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 66 69 67 ns.of.Zig........</p>.......<fig
327e0 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">
32800 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 65 63 74 6f 72 5f 65 78 61 6d 70 6c <cite.class="file">vector_exampl
32820 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
32840 6f 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
32860 73 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.=.<
32880 73 70 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
328a0 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
328c0 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
328e0 70 61 6e 20 63 6c 61 73 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
32900 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 65 63 74 6f 72 20 3d 20 73 74 64 2e k-kw">const</span>.Vector.=.std.
32920 6d 65 74 61 2e 56 65 63 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d meta.Vector;</span>.<span.class=
32940 22 6c 69 6e 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
32960 74 3c 2f 73 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 t</span>.expectEqual.=.std.testi
32980 6e 67 2e 65 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 ng.expectEqual;</span>.<span.cla
329a0 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
329c0 69 6e 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</
329e0 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
32a00 74 3b 42 61 73 69 63 20 76 65 63 74 6f 72 20 75 73 61 67 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e t;Basic.vector.usage&quot;</span
32a20 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">..
32a40 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
32a60 65 63 74 6f 72 73 20 68 61 76 65 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e ectors.have.a.compile-time.known
32a80 20 6c 65 6e 67 74 68 20 61 6e 64 20 62 61 73 65 20 74 79 70 65 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 .length.and.base.type,</span></s
32aa0 70 61 6e 3e 0a 3c 73 70 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
32ac0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 64 20 63 61 6e n.class="tok-comment">//.and.can
32ae0 20 62 65 20 61 73 73 69 67 6e 65 64 20 74 6f 20 75 73 69 6e 67 20 61 72 72 61 79 20 6c 69 74 65 .be.assigned.to.using.array.lite
32b00 72 61 6c 20 73 79 6e 74 61 78 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ral.syntax</span></span>.<span.c
32b20 6c 61 73 73 3d 22 6c 69 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
32b40 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 56 65 63 74 6f 72 28 3c 73 70 61 -kw">const</span>.a:.Vector(<spa
32b60 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>,.<
32b80 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>
32ba0 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 ).=.[_]<span.class="tok-type">i3
32bc0 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 62 65 2</span>{.<span.class="tok-numbe
32be0 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r">1</span>,.<span.class="tok-nu
32c00 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
32c20 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="
32c40 74 6f 6b 2d 6e 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 tok-number">4</span>.};</span>.<
32c60 73 70 61 6e 20 63 6c 61 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
32c80 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 56 65 63 74 6f s="tok-kw">const</span>.b:.Vecto
32ca0 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 r(<span.class="tok-number">4</sp
32cc0 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 69 33 32 3c an>,.<span.class="tok-type">i32<
32ce0 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 2d 74 79 /span>).=.[_]<span.class="tok-ty
32d00 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 74 6f 6b pe">i32</span>{.<span.class="tok
32d20 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">5</span>,.<span.class="
32d40 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
32d60 73 3d 22 74 6f 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 s="tok-number">7</span>,.<span.c
32d80 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 20 7d 3b 3c 2f 73 lass="tok-number">8</span>.};</s
32da0 70 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>.
32dc0 3c 73 70 61 6e 20 63 6c 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
32de0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4d 61 74 68 20 6f 70 65 72 61 74 69 ss="tok-comment">//.Math.operati
32e00 6f 6e 73 20 74 61 6b 65 20 70 6c 61 63 65 20 65 6c 65 6d 65 6e 74 2d 77 69 73 65 3c 2f 73 70 61 ons.take.place.element-wise</spa
32e20 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">...
32e40 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
32e60 6e 3e 20 63 20 3d 20 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 n>.c.=.a.+.b;</span>.<span.class
32e80 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
32ea0 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"
32ec0 3e 2f 2f 20 49 6e 64 69 76 69 64 75 61 6c 20 76 65 63 74 6f 72 20 65 6c 65 6d 65 6e 74 73 20 63 >//.Individual.vector.elements.c
32ee0 61 6e 20 62 65 20 61 63 63 65 73 73 65 64 20 75 73 69 6e 67 20 61 72 72 61 79 20 69 6e 64 65 78 an.be.accessed.using.array.index
32f00 69 6e 67 20 73 79 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 ing.syntax.</span></span>.<span.
32f20 63 6c 61 73 73 3d 22 6c 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
32f40 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 k-kw">try</span>.expectEqual(<sp
32f60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">6</span>,.
32f80 63 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 c[<span.class="tok-number">0</sp
32fa0 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 6c 69 6e 65 22 an>]);</span>.<span.class="line"
32fc0 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
32fe0 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.expectEqual(<span.class="to
33000 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 2c 20 63 5b 3c 73 70 61 6e 20 63 6c 61 73 k-number">8</span>,.c[<span.clas
33020 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e s="tok-number">1</span>]);</span
33040 3e 0a 3c 73 70 61 6e 20 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
33060 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
33080 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 31 30 qual(<span.class="tok-number">10
330a0 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 62 </span>,.c[<span.class="tok-numb
330c0 65 72 22 3e 32 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 er">2</span>]);</span>.<span.cla
330e0 73 73 3d 22 6c 69 6e 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
33100 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 20 w">try</span>.expectEqual(<span.
33120 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 2c 20 63 5b class="tok-number">12</span>,.c[
33140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e <span.class="tok-number">3</span
33160 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 7d >]);</span>.<span.class="line">}
33180 3c 2f 73 70 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
331a0 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
331c0 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
331e0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 43 6f 6e 76 65 72 73 69 6f 6e 20 62 65 ss="tok-str">&quot;Conversion.be
33200 74 77 65 65 6e 20 76 65 63 74 6f 72 73 2c 20 61 72 72 61 79 73 2c 20 61 6e 64 20 73 6c 69 63 65 tween.vectors,.arrays,.and.slice
33220 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
33240 61 73 73 3d 22 6c 69 6e 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-
33260 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 56 65 63 74 6f 72 73 20 61 6e 64 20 66 69 78 65 64 2d 6c 65 comment">//.Vectors.and.fixed-le
33280 6e 67 74 68 20 61 72 72 61 79 73 20 63 61 6e 20 62 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 ngth.arrays.can.be.automatically
332a0 20 61 73 73 69 67 6e 65 64 20 62 61 63 6b 20 61 6e 64 20 66 6f 72 74 68 3c 2f 73 70 61 6e 3e 3c .assigned.back.and.forth</span><
332c0 2f 73 70 61 6e 3e 0a 3c 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
332e0 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 61 72 pan.class="tok-kw">var</span>.ar
33300 72 31 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c r1:.[<span.class="tok-number">4<
33320 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 66 33 /span>]<span.class="tok-type">f3
33340 32 3c 2f 73 70 61 6e 3e 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 2</span>.=.[_]<span.class="tok-t
33360 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
33380 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 k-number">1.1</span>,.<span.clas
333a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e s="tok-number">3.2</span>,.<span
333c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 2e 35 3c 2f 73 70 61 6e 3e 2c 20 .class="tok-number">4.5</span>,.
333e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 2e 36 3c 2f 73 70 <span.class="tok-number">5.6</sp
33400 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"
33420 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
33440 70 61 6e 3e 20 76 65 63 3a 20 56 65 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.vec:.Vector(<span.class="to
33460 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=
33480 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 61 72 72 31 3b 3c 2f "tok-type">f32</span>).=.arr1;</
334a0 73 70 61 6e 3e 0a 3c 73 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
334c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 an.class="tok-kw">var</span>.arr
334e0 32 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 34 3c 2f 2:.[<span.class="tok-number">4</
33500 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 span>]<span.class="tok-type">f32
33520 3c 2f 73 70 61 6e 3e 20 3d 20 76 65 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 </span>.=.vec;</span>.<span.clas
33540 73 3d 22 6c 69 6e 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
33560 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 61 72 72 31 2c 20 61 ">try</span>.expectEqual(arr1,.a
33580 72 72 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 rr2);</span>.<span.class="line">
335a0 3c 2f 73 70 61 6e 3e 0a 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">....<
335c0 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 59 6f 75 20 span.class="tok-comment">//.You.
335e0 63 61 6e 20 61 6c 73 6f 20 61 73 73 69 67 6e 20 66 72 6f 6d 20 61 20 73 6c 69 63 65 20 77 69 74 can.also.assign.from.a.slice.wit
33600 68 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 74 6f 20 61 20 76 65 63 h.comptime-known.length.to.a.vec
33620 74 6f 72 20 75 73 69 6e 67 20 2e 2a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e tor.using..*</span></span>.<span
33640 20 63 6c 61 73 73 3d 22 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
33660 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 65 63 32 3a 20 56 65 63 74 6f 72 ok-kw">const</span>.vec2:.Vector
33680 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
336a0 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</
336c0 73 70 61 6e 3e 29 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 span>).=.arr1[<span.class="tok-n
336e0 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
33700 6b 2d 6e 75 6d 62 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 k-number">3</span>].*;</span>.<s
33720 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
33740 6c 61 73 73 3d 22 6c 69 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
33760 2d 6b 77 22 3e 76 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 -kw">var</span>.slice:.[]<span.c
33780 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e lass="tok-kw">const</span>.<span
337a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 .class="tok-type">f32</span>.=.&
337c0 61 6d 70 3b 61 72 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 amp;arr1;</span>.<span.class="li
337e0 6e 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
33800 3c 2f 73 70 61 6e 3e 20 6f 66 66 73 65 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.offset:.<span.class="tok
33820 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">u32</span>.=.<span.class=
33840 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
33860 70 61 6e 20 63 6c 61 73 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
33880 3d 22 74 6f 6b 2d 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 ="tok-comment">//.To.extract.a.c
338a0 6f 6d 70 74 69 6d 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 omptime-known.length.from.a.runt
338c0 69 6d 65 2d 6b 6e 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 ime-known.offset,</span></span>.
338e0 3c 73 70 61 6e 20 63 6c 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
33900 73 73 3d 22 74 6f 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 ss="tok-comment">//.first.extrac
33920 74 20 61 20 6e 65 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 t.a.new.slice.from.the.starting.
33940 6f 66 66 73 65 74 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 offset,.then.an.array.of</span><
33960 2f 73 70 61 6e 3e 0a 3c 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
33980 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 70 74 pan.class="tok-comment">//.compt
339a0 69 6d 65 20 6b 6e 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 ime.known.length</span></span>.<
339c0 73 70 61 6e 20 63 6c 61 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
339e0 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 65 63 33 3a 20 56 65 s="tok-kw">const</span>.vec3:.Ve
33a00 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c ctor(<span.class="tok-number">2<
33a20 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 66 /span>,.<span.class="tok-type">f
33a40 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 73 6c 69 63 65 5b 6f 66 66 73 65 74 2e 2e 5d 5b 3c 73 70 32</span>).=.slice[offset..][<sp
33a60 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 2e 2e an.class="tok-number">0</span>..
33a80 3c 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
33aa0 3e 5d 2e 2a 3b 3c 2f 73 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">
33ac0 20 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
33ae0 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 73 6c 69 63 65 5b 6f 66 66 73 65 74 5d 2c 20 76 an>.expectEqual(slice[offset],.v
33b00 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 30 3c 2f ec2[<span.class="tok-number">0</
33b20 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 6c 69 6e span>]);</span>.<span.class="lin
33b40 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<
33b60 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 73 6c 69 63 65 5b 6f 66 66 73 65 74 20 /span>.expectEqual(slice[offset.
33b80 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 +.<span.class="tok-number">1</sp
33ba0 61 6e 3e 5d 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 an>],.vec2[<span.class="tok-numb
33bc0 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 61 er">1</span>]);</span>.<span.cla
33be0 73 73 3d 22 6c 69 6e 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
33c00 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 76 65 63 32 2c 20 w">try</span>.expectEqual(vec2,.
33c20 76 65 63 33 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 vec3);</span>.<span.class="line"
33c40 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><
33c60 66 69 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-
33c80 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
33ca0 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
33cc0 74 65 73 74 20 76 65 63 74 6f 72 5f 65 78 61 6d 70 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 test.vector_example.zig</kbd></s
33ce0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 pan>.<span.class="line">1/2.test
33d00 20 26 71 75 6f 74 3b 42 61 73 69 63 20 76 65 63 74 6f 72 20 75 73 61 67 65 26 71 75 6f 74 3b 2e .&quot;Basic.vector.usage&quot;.
33d20 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...OK</span>.<span.class="line">
33d40 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 43 6f 6e 76 65 72 73 69 6f 6e 20 62 65 74 77 65 65 2/2.test.&quot;Conversion.betwee
33d60 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 26 71 75 n.vectors,.arrays,.and.slices&qu
33d80 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ot;....OK</span>.<span.class="li
33da0 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c ne">All.2.tests.passed.</span>.<
33dc0 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>.
33de0 20 20 20 20 20 20 54 4f 44 4f 20 74 61 6c 6b 20 61 62 6f 75 74 20 43 20 41 42 49 20 69 6e 74 65 ......TODO.talk.about.C.ABI.inte
33e00 72 6f 70 3c 62 72 2f 3e 0a 20 20 20 20 20 20 54 4f 44 4f 20 63 6f 6e 73 69 64 65 72 20 73 75 67 rop<br/>.......TODO.consider.sug
33e20 67 65 73 74 69 6e 67 20 73 74 64 2e 4d 75 6c 74 69 41 72 72 61 79 4c 69 73 74 0a 20 20 20 20 20 gesting.std.MultiArrayList......
33e40 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>
33e60 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e .<li><a.href="#splat">@splat</a>
33e80 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 75 66 66 6c 65 22 3e 40 73 68 </li>.<li><a.href="#shuffle">@sh
33ea0 75 66 66 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 65 6c uffle</a></li>.<li><a.href="#sel
33ec0 65 63 74 22 3e 40 73 65 6c 65 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 ect">@select</a></li>.<li><a.hre
33ee0 66 3d 22 23 72 65 64 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 f="#reduce">@reduce</a></li>.</u
33f00 6c 3e 0a 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 50 6f 69 6e 74 l>.................<h2.id="Point
33f20 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 ers"><a.href="#toc-Pointers">Poi
33f40 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 nters</a>.<a.class="hdr".href="#
33f60 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e Pointers">..</a></h2>........<p>
33f80 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 74 77 6f 20 6b 69 6e 64 73 20 6f 66 20 70 6f 69 6e .......Zig.has.two.kinds.of.poin
33fa0 74 65 72 73 3a 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 61 6e 64 20 6d 61 6e 79 2d 69 74 65 6d 2e ters:.single-item.and.many-item.
33fc0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 .......</p>.......<ul>..........
33fe0 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 2a 54 .<li><code><span.class="line">*T
34000 3c 2f 73 70 61 6e 3e 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 </span></code>.-.single-item.poi
34020 6e 74 65 72 20 74 6f 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 nter.to.exactly.one.item........
34040 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 75 70 ......<ul>...............<li>Sup
34060 70 6f 72 74 73 20 64 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 ports.deref.syntax:.<code><span.
34080 63 6c 61 73 73 3d 22 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 class="line">ptr.*</span></code>
340a0 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>.........
340c0 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 ..</li>...........<li><code><spa
340e0 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 64 65 n.class="line">[*]T</span></code
34100 3e 20 2d 20 6d 61 6e 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 >.-.many-item.pointer.to.unknown
34120 20 6e 75 6d 62 65 72 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 .number.of.items..............<u
34140 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 69 6e l>...............<li>Supports.in
34160 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 3d 22 6c dex.syntax:.<code><span.class="l
34180 69 6e 65 22 3e 70 74 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 ine">ptr[i]</span></code></li>..
341a0 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 73 6c 69 63 65 20 .............<li>Supports.slice.
341c0 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 69 6e 65 22 syntax:.<code><span.class="line"
341e0 3e 70 74 72 5b 73 74 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 >ptr[start..end]</span></code></
34200 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 70 li>...............<li>Supports.p
34220 6f 69 6e 74 65 72 20 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 ointer.arithmetic:.<code><span.c
34240 6c 61 73 73 3d 22 6c 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 lass="line">ptr.+.x</span></code
34260 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 70 74 72 20 >,.<code><span.class="line">ptr.
34280 2d 20 78 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 -.x</span></code></li>..........
342a0 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
342c0 22 3e 54 3c 2f 73 70 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 ">T</span></code>.must.have.a.kn
342e0 6f 77 6e 20 73 69 7a 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 own.size,.which.means.that.it.ca
34300 6e 6e 6f 74 20 62 65 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 nnot.be...............<code><spa
34320 6e 20 63 6c 61 73 73 3d 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-
34340 74 79 70 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 type">anyopaque</span></span></c
34360 6f 64 65 3e 20 6f 72 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 ode>.or.any.other.<a.href="#opaq
34380 75 65 22 3e 6f 70 61 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 ue">opaque.type</a>.</li>.......
343a0 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 0a 20 20 20 20 ......</ul>...........</li>.....
343c0 20 20 3c 2f 75 6c 3e 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 ..</ul>.......<p>These.types.are
343e0 20 63 6c 6f 73 65 6c 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 .closely.related.to.<a.href="#Ar
34400 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 53 rays">Arrays</a>.and.<a.href="#S
34420 6c 69 63 65 73 22 3e 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 lices">Slices</a>:</p>.........<
34440 75 6c 3e 0a 20 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 ul>.............<li><code><span.
34460 63 6c 61 73 73 3d 22 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 class="line">*[N]T</span></code>
34480 20 2d 20 70 6f 69 6e 74 65 72 20 74 6f 20 4e 20 69 74 65 6d 73 2c 20 73 61 6d 65 20 61 73 20 73 .-.pointer.to.N.items,.same.as.s
344a0 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 2e 0a ingle-item.pointer.to.an.array..
344c0 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 20 ............<ul>................
344e0 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 69 6e 64 65 78 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 .<li>Supports.index.syntax:.<cod
34500 65 3e 3c 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 69 e><span.class="line">array_ptr[i
34520 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 20 20 20 ]</span></code></li>............
34540 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 20 .....<li>Supports.slice.syntax:.
34560 3c 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 72 72 61 79 5f 70 <code><span.class="line">array_p
34580 74 72 5b 73 74 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 tr[start..end]</span></code></li
345a0 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 20 6c >.................<li>Supports.l
345c0 65 6e 20 70 72 6f 70 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 en.property:.<code><span.class="
345e0 6c 69 6e 65 22 3e 61 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 line">array_ptr.len</span></code
34600 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>........
34620 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 20 20 20 20 20 20 20 .....</li>.........</ul>........
34640 20 3c 75 6c 3e 0a 20 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 .<ul>.............<li><code><spa
34660 6e 20 63 6c 61 73 73 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 n.class="line">[]T</span></code>
34680 20 2d 20 70 6f 69 6e 74 65 72 20 74 6f 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 20 6e 75 6d 62 .-.pointer.to.runtime-known.numb
346a0 65 72 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 er.of.items..............<ul>...
346c0 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 69 6e 64 65 78 ..............<li>Supports.index
346e0 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 69 6e 65 .syntax:.<code><span.class="line
34700 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 6c 69 3e 0a 20 20 ">slice[i]</span></code></li>...
34720 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 73 6c 69 63 65 ..............<li>Supports.slice
34740 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 69 6e 65 .syntax:.<code><span.class="line
34760 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 3c 2f 63 6f 64 65 ">slice[start..end]</span></code
34780 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f ></li>.................<li>Suppo
347a0 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 70 61 6e 20 63 6c rts.len.property:.<code><span.cl
347c0 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 3e 3c 2f 63 6f 64 ass="line">slice.len</span></cod
347e0 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 20 20 20 20 20 20 e></li>.............</ul>.......
34800 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 20 20 20 20 20 20 ......</li>.........</ul>.......
34820 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 6c 69 6e 65 ..<p>Use.<code><span.class="line
34840 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 6f 62 74 61 69 6e ">&amp;x</span></code>.to.obtain
34860 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 3a 3c 2f 70 3e 0a 20 20 20 20 .a.single-item.pointer:</p>.....
34880 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
348a0 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 67 6c ig-cap"><cite.class="file">singl
348c0 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 72 5f 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f e_item_pointer_test.zig</cite></
348e0 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
34900 73 3d 22 6c 69 6e 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
34920 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=
34940 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
34960 61 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
34980 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
349a0 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
349c0 61 6e 20 63 6c 61 73 73 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
349e0 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
34a00 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 61 78 26 71 k-str">&quot;address.of.syntax&q
34a20 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
34a40 3d 22 6c 69 6e 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
34a60 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 61 20 76 61 ment">//.Get.the.address.of.a.va
34a80 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 63 6c 61 73 riable:</span></span>.<span.clas
34aa0 73 3d 22 6c 69 6e 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
34ac0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">const</span>.x:.<span.class="t
34ae0 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
34b00 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
34b20 6e 3e 0a 3c 73 70 61 6e 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.
34b40 63 6c 61 73 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 5f 70 74 class="tok-kw">const</span>.x_pt
34b60 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 3d 22 r.=.&amp;x;</span>.<span.class="
34b80 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"
34ba0 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">/
34bc0 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 61 6e 3e 3c /.Dereference.a.pointer:</span><
34be0 2f 73 70 61 6e 3e 0a 3c 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
34c00 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
34c20 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 22 74 6f 6b pect(x_ptr.*.==.<span.class="tok
34c40 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 3e 0a 3c 73 -number">1234</span>);</span>.<s
34c60 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
34c80 6c 61 73 73 3d 22 6c 69 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
34ca0 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 65 20 61 64 -comment">//.When.you.get.the.ad
34cc0 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 6f 75 20 67 dress.of.a.const.variable,.you.g
34ce0 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 65 72 2e 3c et.a.const.single-item.pointer.<
34d00 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"
34d20 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
34d40 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
34d60 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 3d 3d 20 2a ltin">@TypeOf</span>(x_ptr).==.*
34d80 3c 73 70 61 6e 20 63 6c 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
34da0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 >.<span.class="tok-type">i32</sp
34dc0 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">
34de0 3c 2f 73 70 61 6e 3e 0a 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">....<
34e00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 79 span.class="tok-comment">//.If.y
34e20 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 20 79 6f 75 ou.want.to.mutate.the.value,.you
34e40 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 62 6c 65 20 'd.need.an.address.of.a.mutable.
34e60 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 63 6c variable:</span></span>.<span.cl
34e80 61 73 73 3d 22 6c 69 6e 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-
34ea0 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 22 74 kw">var</span>.y:.<span.class="t
34ec0 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
34ee0 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 70 61 s="tok-number">5678</span>;</spa
34f00 6e 3e 0a 3c 73 70 61 6e 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.
34f20 63 6c 61 73 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 5f 70 74 class="tok-kw">const</span>.y_pt
34f40 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 73 73 3d 22 r.=.&amp;y;</span>.<span.class="
34f60 6c 69 6e 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
34f80 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
34fa0 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 70 74 72 29 k-builtin">@TypeOf</span>(y_ptr)
34fc0 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c .==.*<span.class="tok-type">i32<
34fe0 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
35000 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 73 3d 22 74 e">....y_ptr.*.+=.<span.class="t
35020 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
35040 6e 20 63 6c 61 73 73 3d 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="
35060 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 70 74 72 2e tok-kw">try</span>.expect(y_ptr.
35080 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 35 36 *.==.<span.class="tok-number">56
350a0 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 73 73 3d 22 79</span>);</span>.<span.class="
350c0 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
350e0 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
35100 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
35120 70 61 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 pan.class="tok-str">&quot;pointe
35140 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 7b 3c 2f 73 r.array.access&quot;</span>.{</s
35160 70 61 6e 3e 0a 3c 73 70 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
35180 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 69 6e 67 20 n.class="tok-comment">//.Taking.
351a0 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 65 6c 65 6d an.address.of.an.individual.elem
351c0 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 70 61 6e 20 ent.gives.a</span></span>.<span.
351e0 63 6c 61 73 73 3d 22 6c 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
35200 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 69 6e 74 65 k-comment">//.single-item.pointe
35220 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 6e 3e 3c 2f r..This.kind.of.pointer</span></
35240 73 70 61 6e 3e 0a 3c 73 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
35260 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 65 73 20 6e an.class="tok-comment">//.does.n
35280 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 63 2e 3c 2f ot.support.pointer.arithmetic.</
352a0 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">
352c0 20 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
352e0 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-
35300 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
35320 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 3d k-number">1</span>,.<span.class=
35340 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
35360 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">3</span>,.<span.
35380 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">4</span>,.<sp
353a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">5</span>,.
353c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e <span.class="tok-number">6</span
353e0 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 >,.<span.class="tok-number">7</s
35400 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 38 pan>,.<span.class="tok-number">8
35420 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
35440 22 3e 39 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">9</span>,.<span.class="tok-num
35460 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 61 6e 20 63 ber">10</span>.};</span>.<span.c
35480 6c 61 73 73 3d 22 6c 69 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
354a0 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 3b 61 72 72 -kw">const</span>.ptr.=.&amp;arr
354c0 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 32 3c 2f 73 ay[<span.class="tok-number">2</s
354e0 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 65 22 pan>];</span>.<span.class="line"
35500 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
35520 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
35540 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 20 2a 3c 73 ltin">@TypeOf</span>(ptr).==.*<s
35560 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>);
35580 3c 2f 73 70 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
355a0 6e 3e 0a 3c 73 70 61 6e 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.
355c0 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
355e0 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 72 22 3e (array[<span.class="tok-number">
35600 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 2d 6e 75 2</span>].==.<span.class="tok-nu
35620 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
35640 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 6e 20 63 6c ass="line">....ptr.*.+=.<span.cl
35660 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
35680 3e 0a 3c 73 70 61 6e 20 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
356a0 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(
356c0 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 32 array[<span.class="tok-number">2
356e0 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
35700 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 61 ber">4</span>);</span>.<span.cla
35720 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><
35740 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
35760 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>
35780 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
357a0 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 69 6e 67 6c 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 <kbd>zig.test.single_item_pointe
357c0 72 5f 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c r_test.zig</kbd></span>.<span.cl
357e0 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 61 64 64 72 65 73 ass="line">1/2.test.&quot;addres
35800 73 20 6f 66 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c s.of.syntax&quot;....OK</span>.<
35820 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 span.class="line">2/2.test.&quot
35840 3b 70 6f 69 6e 74 65 72 20 61 72 72 61 79 20 61 63 63 65 73 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f ;pointer.array.access&quot;....O
35860 4b 3c 2f 73 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 6c 6c 20 K</span>.<span.class="line">All.
35880 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 2.tests.passed.</span>.</samp></
358a0 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 20 pre></figure>.......<p>.........
358c0 49 6e 20 5a 69 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 In.Zig,.we.generally.prefer.<a.h
358e0 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 20 72 61 74 68 65 72 20 ref="#Slices">Slices</a>.rather.
35900 74 68 61 6e 20 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 than.<a.href="#Sentinel-Terminat
35920 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
35940 20 50 6f 69 6e 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 .Pointers</a>..........You.can.t
35960 75 72 6e 20 61 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 urn.an.array.or.pointer.into.a.s
35980 6c 69 63 65 20 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 lice.using.slice.syntax........<
359a0 2f 70 3e 0a 20 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 /p>.......<p>.........Slices.hav
359c0 65 20 62 6f 75 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 e.bounds.checking.and.are.theref
359e0 6f 72 65 20 70 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 ore.protected.........against.th
35a00 69 73 20 6b 69 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 is.kind.of.undefined.behavior..T
35a20 68 69 73 20 69 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 his.is.one.reason.........we.pre
35a40 66 65 72 20 73 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 fer.slices.to.pointers........</
35a60 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
35a80 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">
35aa0 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
35ac0 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
35ae0 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
35b00 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
35b20 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
35b40 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
35b60 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
35b80 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
35ba0 73 3d 22 6c 69 6e 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
35bc0 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">
35be0 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
35c00 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">.
35c20 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
35c40 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
35c60 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
35c80 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="
35ca0 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
35cc0 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
35ce0 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
35d00 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>,.<
35d20 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>
35d40 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
35d60 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<
35d80 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"
35da0 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
35dc0 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
35de0 61 73 73 3d 22 6c 69 6e 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-
35e00 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 3c kw">const</span>.slice.=.array[<
35e20 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>
35e40 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 34 3c 2f 73 70 ..<span.class="tok-number">4</sp
35e60 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 65 22 3e an>];</span>.<span.class="line">
35e80 20 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
35ea0 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c an>.expect(slice.len.==.<span.cl
35ec0 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 61 ass="tok-number">2</span>);</spa
35ee0 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
35f00 70 61 6e 20 63 6c 61 73 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
35f20 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 ="tok-kw">try</span>.expect(arra
35f40 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 33 3c 2f 73 70 y[<span.class="tok-number">3</sp
35f60 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 an>].==.<span.class="tok-number"
35f80 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 61 73 73 3d 22 >4</span>);</span>.<span.class="
35fa0 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 74 6f 6b line">....slice[<span.class="tok
35fc0 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -number">1</span>].+=.<span.clas
35fe0 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>.
36000 3c 73 70 61 6e 20 63 6c 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
36020 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 ss="tok-kw">try</span>.expect(ar
36040 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 33 3c 2f ray[<span.class="tok-number">3</
36060 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
36080 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
360a0 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
360c0 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=
360e0 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
36100 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b re><samp><span.class="line">$.<k
36120 62 64 3e 7a 69 67 20 74 65 73 74 20 73 6c 69 63 65 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 6b 62 bd>zig.test.slice_bounds.zig</kb
36140 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 d></span>.<span.class="line">1/1
36160 20 74 65 73 74 20 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 .test.&quot;pointer.slicing&quot
36180 3b 2e 2e 2e 20 4f 4b 3c 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
361a0 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 ">All.1.tests.passed.</span>.</s
361c0 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 50 6f 69 amp></pre></figure>.......<p>Poi
361e0 6e 74 65 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 nters.work.at.compile-time.too,.
36200 61 73 20 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 as.long.as.the.code.does.not.dep
36220 65 6e 64 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 end.on.......an.undefined.memory
36240 20 6c 61 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 .layout:</p>.......<figure><figc
36260 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
36280 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 73 2e 7a 69 67 3c ss="file">comptime_pointers.zig<
362a0 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
362c0 70 61 6e 20 63 6c 61 73 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
362e0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 k-kw">const</span>.expect.=.<spa
36300 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
36320 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
36340 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 ;std&quot;</span>).testing.expec
36360 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
36380 70 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
363a0 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
363c0 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 70 6f lass="tok-str">&quot;comptime.po
363e0 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 73 70 inters&quot;</span>.{</span>.<sp
36400 61 6e 20 63 6c 61 73 73 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=
36420 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
36440 3e 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
36460 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:.
36480 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
364a0 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 2f >.=.<span.class="tok-number">1</
364c0 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"
364e0 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
36500 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 3e 0a nst</span>.ptr.=.&amp;x;</span>.
36520 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 2e 2a <span.class="line">........ptr.*
36540 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 3c 2f .+=.<span.class="tok-number">1</
36560 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"
36580 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
365a0 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
365c0 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="
365e0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 2e 2a 20 tok-kw">try</span>.expect(ptr.*.
36600 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 73 ==.<span.class="tok-number">3</s
36620 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"
36640 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"
36660 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><
36680 66 69 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-
366a0 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
366c0 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
366e0 74 65 73 74 20 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e test.comptime_pointers.zig</kbd>
36700 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 </span>.<span.class="line">1/1.t
36720 65 73 74 20 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 est.&quot;comptime.pointers&quot
36740 3b 2e 2e 2e 20 4f 4b 3c 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
36760 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 ">All.1.tests.passed.</span>.</s
36780 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 54 6f 20 amp></pre></figure>.......<p>To.
367a0 63 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 61 64 64 72 65 73 73 20 69 6e 74 6f 20 convert.an.integer.address.into.
367c0 61 20 70 6f 69 6e 74 65 72 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 a.pointer,.use.<code><span.class
367e0 3d 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
36800 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ">@intToPtr</span></span></code>
36820 2e 0a 20 20 20 20 20 20 54 6f 20 63 6f 6e 76 65 72 74 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 ........To.convert.a.pointer.to.
36840 61 6e 20 69 6e 74 65 67 65 72 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 an.integer,.use.<code><span.clas
36860 73 3d 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
36880 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 n">@ptrToInt</span></span></code
368a0 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
368c0 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
368e0 6c 65 22 3e 69 6e 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 le">integer_pointer_conversion.z
36900 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
36920 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=
36940 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.=.<
36960 73 70 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
36980 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
369a0 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
369c0 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">
369e0 3c 2f 73 70 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
36a00 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
36a20 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 70 74 72 54 6f 49 6e n.class="tok-str">&quot;@ptrToIn
36a40 74 20 61 6e 64 20 40 69 6e 74 54 6f 50 74 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f t.and.@intToPtr&quot;</span>.{</
36a60 73 70 61 6e 3e 0a 3c 73 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
36a80 61 6e 20 63 6c 61 73 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
36aa0 74 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 tr.=.<span.class="tok-builtin">@
36ac0 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f intToPtr</span>(*<span.class="to
36ae0 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 73 73 3d k-type">i32</span>,.<span.class=
36b00 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b "tok-number">0xdeadbee0</span>);
36b20 3c 2f 73 70 61 6e 3e 0a 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">....<
36b40 73 70 61 6e 20 63 6c 61 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>
36b60 20 61 64 64 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e .addr.=.<span.class="tok-builtin
36b80 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a ">@ptrToInt</span>(ptr);</span>.
36ba0 3c 73 70 61 6e 20 63 6c 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
36bc0 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
36be0 70 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<
36c00 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
36c20 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
36c40 61 6e 20 63 6c 61 73 73 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=
36c60 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 64 64 72 20 "tok-kw">try</span>.expect(addr.
36c80 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 64 65 ==.<span.class="tok-number">0xde
36ca0 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 20 63 6c 61 adbee0</span>);</span>.<span.cla
36cc0 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><
36ce0 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
36d00 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>
36d20 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
36d40 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 69 6e 74 65 67 65 72 5f 70 6f 69 6e 74 65 72 5f 63 6f <kbd>zig.test.integer_pointer_co
36d60 6e 76 65 72 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 nversion.zig</kbd></span>.<span.
36d80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 70 74 72 class="line">1/1.test.&quot;@ptr
36da0 54 6f 49 6e 74 20 61 6e 64 20 40 69 6e 74 54 6f 50 74 72 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c ToInt.and.@intToPtr&quot;....OK<
36dc0 2f 73 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 6c 6c 20 31 20 /span>.<span.class="line">All.1.
36de0 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 tests.passed.</span>.</samp></pr
36e00 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 69 73 20 61 62 6c 65 e></figure>.......<p>Zig.is.able
36e20 20 74 6f 20 70 72 65 73 65 72 76 65 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 65 73 20 69 6e .to.preserve.memory.addresses.in
36e40 20 63 6f 6d 70 74 69 6d 65 20 63 6f 64 65 2c 20 61 73 20 6c 6f 6e 67 20 61 73 0a 20 20 20 20 20 .comptime.code,.as.long.as......
36e60 20 74 68 65 20 70 6f 69 6e 74 65 72 20 69 73 20 6e 65 76 65 72 20 64 65 72 65 66 65 72 65 6e 63 .the.pointer.is.never.dereferenc
36e80 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f ed:</p>.......<figure><figcaptio
36ea0 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
36ec0 69 6c 65 22 3e 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 ile">comptime_pointer_conversion
36ee0 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
36f00 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
36f20 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.=
36f40 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
36f60 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">
36f80 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.
36fa0 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
36fc0 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
36fe0 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
37000 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 pan.class="tok-str">&quot;compti
37020 6d 65 20 40 69 6e 74 54 6f 50 74 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 me.@intToPtr&quot;</span>.{</spa
37040 6e 3e 0a 3c 73 70 61 6e 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.
37060 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b class="tok-kw">comptime</span>.{
37080 3c 2f 73 70 61 6e 3e 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">.....
370a0 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">//.
370c0 5a 69 67 20 69 73 20 61 62 6c 65 20 74 6f 20 64 6f 20 74 68 69 73 20 61 74 20 63 6f 6d 70 69 6c Zig.is.able.to.do.this.at.compil
370e0 65 2d 74 69 6d 65 2c 20 61 73 20 6c 6f 6e 67 20 61 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e e-time,.as.long.as</span></span>
37100 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
37120 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 70 74 72 20 69 73 20 n.class="tok-comment">//.ptr.is.
37140 6e 65 76 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e never.dereferenced.</span></span
37160 3e 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
37180 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 an.class="tok-kw">const</span>.p
371a0 74 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 tr.=.<span.class="tok-builtin">@
371c0 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f intToPtr</span>(*<span.class="to
371e0 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 73 73 3d k-type">i32</span>,.<span.class=
37200 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b "tok-number">0xdeadbee0</span>);
37220 3c 2f 73 70 61 6e 3e 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">.....
37240 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
37260 70 61 6e 3e 20 61 64 64 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 pan>.addr.=.<span.class="tok-bui
37280 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 70 74 72 29 3b 3c 2f 73 70 ltin">@ptrToInt</span>(ptr);</sp
372a0 61 6e 3e 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">........<
372c0 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
372e0 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">
37300 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 64 64 72 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c @TypeOf</span>(addr).==.<span.cl
37320 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 ass="tok-type">usize</span>);</s
37340 70 61 6e 3e 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">........
37360 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>.
37380 65 78 70 65 63 74 28 61 64 64 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d expect(addr.==.<span.class="tok-
373a0 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 61 number">0xdeadbee0</span>);</spa
373c0 6e 3e 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
373e0 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></
37400 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
37420 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<
37440 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><samp><span.cla
37460 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 6d 70 74 69 ss="line">$.<kbd>zig.test.compti
37480 6d 65 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c me_pointer_conversion.zig</kbd><
374a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 /span>.<span.class="line">1/1.te
374c0 73 74 20 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 40 69 6e 74 54 6f 50 74 72 26 71 75 6f 74 st.&quot;comptime.@intToPtr&quot
374e0 3b 2e 2e 2e 20 4f 4b 3c 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
37500 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 ">All.1.tests.passed.</span>.</s
37520 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 amp></pre></figure>.......<p>See
37540 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 4f 70 74 .also:</p><ul>.<li><a.href="#Opt
37560 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 69 6e 74 65 72 ional-Pointers">Optional.Pointer
37580 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 69 6e 74 54 6f 50 74 s</a></li>.<li><a.href="#intToPt
375a0 72 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 r">@intToPtr</a></li>.<li><a.hre
375c0 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e f="#ptrToInt">@ptrToInt</a></li>
375e0 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
37600 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 50 6f 69 nters</a></li>.<li><a.href="#Poi
37620 6e 74 65 72 73 2d 74 6f 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 50 6f 69 6e 74 65 72 nters-to-Zero-Bit-Types">Pointer
37640 73 20 74 6f 20 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 s.to.Zero.Bit.Types</a></li>.</u
37660 6c 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 l>........<h3.id="volatile"><a.h
37680 72 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 ref="#toc-volatile">volatile</a>
376a0 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 22 .<a.class="hdr".href="#volatile"
376c0 3e 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 >..</a></h3>........<p>Loads.and
376e0 20 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 .stores.are.assumed.to.not.have.
37700 73 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 side.effects..If.a.given.load.or
37720 20 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 .store.......should.have.side.ef
37740 66 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 fects,.such.as.Memory.Mapped.Inp
37760 75 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 ut/Output.(MMIO),.use.<code><spa
37780 6e 20 63 6c 61 73 73 3d 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-
377a0 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 2f 63 6f 64 65 kw">volatile</span></span></code
377c0 3e 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 >........In.the.following.code,.
377e0 6c 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 loads.and.stores.with.<code><spa
37800 6e 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 n.class="line">mmio_ptr</span></
37820 63 6f 64 65 3e 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 61 6c 6c 20 68 61 70 70 code>.are.guaranteed.to.all.happ
37840 65 6e 0a 20 20 20 20 20 20 61 6e 64 20 69 6e 20 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 20 61 en.......and.in.the.same.order.a
37860 73 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 s.in.source.code:</p>.......<fig
37880 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">
378a0 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 2e 7a 69 67 3c <cite.class="file">volatile.zig<
378c0 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
378e0 70 61 6e 20 63 6c 61 73 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
37900 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 k-kw">const</span>.expect.=.<spa
37920 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
37940 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
37960 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 ;std&quot;</span>).testing.expec
37980 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
379a0 70 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
379c0 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
379e0 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 65 26 71 75 lass="tok-str">&quot;volatile&qu
37a00 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=
37a20 22 6c 69 6e 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">
37a40 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 6d 69 6f 5f 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c const</span>.mmio_ptr.=.<span.cl
37a60 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 ass="tok-builtin">@intToPtr</spa
37a80 6e 3e 28 2a 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 n>(*<span.class="tok-kw">volatil
37aa0 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">
37ac0 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 u8</span>,.<span.class="tok-numb
37ae0 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 70 61 6e 3e 0a 3c er">0x12345678</span>);</span>.<
37b00 73 70 61 6e 20 63 6c 61 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
37b20 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
37b40 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</
37b60 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 63 6c 61 73 73 3d span>(mmio_ptr).==.*<span.class=
37b80 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 73 70 61 6e 20 63 "tok-kw">volatile</span>.<span.c
37ba0 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 73 70 61 lass="tok-type">u8</span>);</spa
37bc0 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></
37be0 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
37c00 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<
37c20 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><samp><span.cla
37c40 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 76 6f 6c 61 74 69 ss="line">$.<kbd>zig.test.volati
37c60 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d le.zig</kbd></span>.<span.class=
37c80 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 76 6f 6c 61 74 69 6c 65 26 71 "line">1/1.test.&quot;volatile&q
37ca0 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uot;....OK</span>.<span.class="l
37cc0 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a ine">All.1.tests.passed.</span>.
37ce0 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>
37d00 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .......Note.that.<code><span.cla
37d20 73 73 3d 22 6c 69 6e 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 ss="line"><span.class="tok-kw">v
37d40 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 69 73 20 olatile</span></span></code>.is.
37d60 75 6e 72 65 6c 61 74 65 64 20 74 6f 20 63 6f 6e 63 75 72 72 65 6e 63 79 20 61 6e 64 20 3c 61 20 unrelated.to.concurrency.and.<a.
37d80 68 72 65 66 3d 22 23 41 74 6f 6d 69 63 73 22 3e 41 74 6f 6d 69 63 73 3c 2f 61 3e 2e 0a 20 20 20 href="#Atomics">Atomics</a>.....
37da0 20 20 20 49 66 20 79 6f 75 20 73 65 65 20 63 6f 64 65 20 74 68 61 74 20 69 73 20 75 73 69 6e 67 ...If.you.see.code.that.is.using
37dc0 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.
37de0 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 2f class="tok-kw">volatile</span></
37e00 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 73 6f 6d 65 74 68 69 6e 67 20 6f 74 68 65 72 span></code>.for.something.other
37e20 20 74 68 61 6e 20 4d 65 6d 6f 72 79 20 4d 61 70 70 65 64 0a 20 20 20 20 20 20 49 6e 70 75 74 2f .than.Memory.Mapped.......Input/
37e40 4f 75 74 70 75 74 2c 20 69 74 20 69 73 20 70 72 6f 62 61 62 6c 79 20 61 20 62 75 67 2e 0a 20 20 Output,.it.is.probably.a.bug....
37e60 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 ....</p>..............<p>.......
37e80 54 6f 20 63 6f 6e 76 65 72 74 20 6f 6e 65 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 74 6f 20 61 To.convert.one.pointer.type.to.a
37ea0 6e 6f 74 68 65 72 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e 40 nother,.use.<a.href="#ptrCast">@
37ec0 70 74 72 43 61 73 74 3c 2f 61 3e 2e 20 54 68 69 73 20 69 73 20 61 6e 20 75 6e 73 61 66 65 0a 20 ptrCast</a>..This.is.an.unsafe..
37ee0 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 74 68 61 74 20 5a 69 67 20 63 61 6e 6e 6f 74 20 70 .....operation.that.Zig.cannot.p
37f00 72 6f 74 65 63 74 20 79 6f 75 20 61 67 61 69 6e 73 74 2e 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 rotect.you.against..Use.<code><s
37f20 70 61 6e 20 63 6c 61 73 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
37f40 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 3c 2f 73 70 61 6e k-builtin">@ptrCast</span></span
37f60 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 6c 79 20 77 68 65 6e 20 6f 74 68 65 72 0a 20 20 20 20 20 20 63 ></code>.only.when.other.......c
37f80 6f 6e 76 65 72 73 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 onversions.are.not.possible.....
37fa0 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
37fc0 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
37fe0 69 6c 65 22 3e 70 6f 69 6e 74 65 72 5f 63 61 73 74 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c ile">pointer_casting.zig</cite><
38000 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
38020 73 73 3d 22 6c 69 6e 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
38040 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
38060 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
38080 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;
380a0 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
380c0 6e 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</
380e0 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
38100 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
38120 70 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
38140 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
38160 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 63 61 73 lass="tok-str">&quot;pointer.cas
38180 74 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 ting&quot;</span>.{</span>.<span
381a0 20 63 6c 61 73 73 3d 22 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
381c0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 20 3c 73 70 61 6e 20 ok-kw">const</span>.bytes.<span.
381e0 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
38200 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</
38220 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
38240 3c 2f 73 70 61 6e 3e 29 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>)).=.[_]<span.class="tok-
38260 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
38280 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 6c 61 k-number">0x12</span>,.<span.cla
382a0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 ss="tok-number">0x12</span>,.<sp
382c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e an.class="tok-number">0x12</span
382e0 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 78 31 32 >,.<span.class="tok-number">0x12
38300 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
38320 69 6e 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
38340 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 33 32 5f 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 nst</span>.u32_ptr.=.<span.class
38360 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 2a ="tok-builtin">@ptrCast</span>(*
38380 3c 73 70 61 6e 20 63 6c 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
383a0 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 33 32 3c 2f 73 70 >.<span.class="tok-type">u32</sp
383c0 61 6e 3e 2c 20 26 61 6d 70 3b 62 79 74 65 73 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an>,.&amp;bytes);</span>.<span.c
383e0 6c 61 73 73 3d 22 6c 69 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
38400 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 75 33 32 5f 70 74 72 2e 2a -kw">try</span>.expect(u32_ptr.*
38420 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
38440 32 31 32 31 32 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 2121212</span>);</span>.<span.cl
38460 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="
38480 6c 69 6e 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
384a0 6e 74 22 3e 2f 2f 20 45 76 65 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 69 73 20 63 6f 6e 74 nt">//.Even.this.example.is.cont
384c0 72 69 76 65 64 20 2d 20 74 68 65 72 65 20 61 72 65 20 62 65 74 74 65 72 20 77 61 79 73 20 74 6f rived.-.there.are.better.ways.to
384e0 20 64 6f 20 74 68 65 20 61 62 6f 76 65 20 74 68 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e .do.the.above.than</span></span>
38500 0a 3c 73 70 61 6e 20 63 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
38520 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 20 63 61 73 ass="tok-comment">//.pointer.cas
38540 74 69 6e 67 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 75 73 69 6e 67 20 61 20 73 6c 69 63 65 ting..For.example,.using.a.slice
38560 20 6e 61 72 72 6f 77 69 6e 67 20 63 61 73 74 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .narrowing.cast:</span></span>.<
38580 73 70 61 6e 20 63 6c 61 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
385a0 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 33 32 5f 76 61 6c 75 s="tok-kw">const</span>.u32_valu
385c0 65 20 3d 20 73 74 64 2e 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 e.=.std.mem.bytesAsSlice(<span.c
385e0 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 62 79 74 65 lass="tok-type">u32</span>,.byte
38600 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 s[<span.class="tok-number">0</sp
38620 61 6e 3e 2e 2e 5d 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 an>..])[<span.class="tok-number"
38640 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 6c 61 73 73 3d 22 >0</span>];</span>.<span.class="
38660 6c 69 6e 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
38680 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 75 33 32 5f 76 61 6c 75 65 20 3d 3d 20 3c 73 ry</span>.expect(u32_value.==.<s
386a0 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 31 32 31 32 31 pan.class="tok-number">0x1212121
386c0 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
386e0 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">
38700 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">//
38720 20 41 6e 64 20 65 76 65 6e 20 61 6e 6f 74 68 65 72 20 77 61 79 2c 20 74 68 65 20 6d 6f 73 74 20 .And.even.another.way,.the.most.
38740 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 64 20 77 61 79 20 74 6f 20 64 6f 20 69 74 3a 3c 2f 73 straightforward.way.to.do.it:</s
38760 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">.
38780 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
387a0 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
387c0 69 6e 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d in">@bitCast</span>(<span.class=
387e0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 73 29 20 3d 3d "tok-type">u32</span>,.bytes).==
38800 20 3c 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 31 32 .<span.class="tok-number">0x1212
38820 31 32 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 1212</span>);</span>.<span.class
38840 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
38860 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"><
38880 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>.
388a0 3c 73 70 61 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
388c0 74 65 72 20 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 ter.child.type&quot;</span>.{</s
388e0 70 61 6e 3e 0a 3c 73 70 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
38900 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 70 6f 69 6e 74 65 72 n.class="tok-comment">//.pointer
38920 20 74 79 70 65 73 20 68 61 76 65 20 61 20 60 63 68 69 6c 64 60 20 66 69 65 6c 64 20 77 68 69 63 .types.have.a.`child`.field.whic
38940 68 20 74 65 6c 6c 73 20 79 6f 75 20 74 68 65 20 74 79 70 65 20 74 68 65 79 20 70 6f 69 6e 74 20 h.tells.you.the.type.they.point.
38960 74 6f 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 to.</span></span>.<span.class="l
38980 69 6e 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
389a0 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
389c0 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 -builtin">@typeInfo</span>(*<spa
389e0 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 2e 50 n.class="tok-type">u32</span>).P
38a00 6f 69 6e 74 65 72 2e 63 68 69 6c 64 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ointer.child.==.<span.class="tok
38a20 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
38a40 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
38a60 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.
38a80 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
38aa0 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
38ac0 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 6f 69 6e 74 65 72 5f 63 61 73 74 69 6e ">$.<kbd>zig.test.pointer_castin
38ae0 67 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 g.zig</kbd></span>.<span.class="
38b00 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 63 61 73 line">1/2.test.&quot;pointer.cas
38b20 74 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ting&quot;....OK</span>.<span.cl
38b40 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 ass="line">2/2.test.&quot;pointe
38b60 72 20 63 68 69 6c 64 20 74 79 70 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a r.child.type&quot;....OK</span>.
38b80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 <span.class="line">All.2.tests.p
38ba0 61 73 73 65 64 2e 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 assed.</span>.</samp></pre></fig
38bc0 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 61 ure>.......<h3.id="Alignment"><a
38be0 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 74 .href="#toc-Alignment">Alignment
38c00 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 6e </a>.<a.class="hdr".href="#Align
38c20 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 20 ment">..</a></h3>........<p>....
38c40 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 67 ...Each.type.has.an.<strong>alig
38c60 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 74 nment</strong>.-.a.number.of.byt
38c80 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 65 es.such.that,.......when.a.value
38ca0 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 73 .of.the.type.is.loaded.from.or.s
38cc0 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 72 tored.to.memory,.......the.memor
38ce0 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 62 y.address.must.be.evenly.divisib
38d00 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 20 le.by.this.number..You.can.use..
38d20 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 66 .....<a.href="#alignOf">@alignOf
38d40 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 20 </a>.to.find.out.this.value.for.
38d60 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 20 any.type........</p>.......<p>..
38d80 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 50 .....Alignment.depends.on.the.CP
38da0 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 20 U.architecture,.but.is.always.a.
38dc0 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 61 power.of.two,.and.......less.tha
38de0 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 6e n.<code><span.class="line"><span
38e00 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 74 .class="tok-number">1</span>.&lt
38e20 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 32 ;&lt;.<span.class="tok-number">2
38e40 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 2f 9</span></span></code>........</
38e60 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 69 p>.......<p>.......In.Zig,.a.poi
38e80 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 65 nter.type.has.an.alignment.value
38ea0 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 20 ..If.the.value.is.equal.to.the..
38ec0 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 67 .....alignment.of.the.underlying
38ee0 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 68 .type,.it.can.be.omitted.from.th
38f00 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 65 e.type:.......</p>.......<figure
38f20 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
38f40 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 72 69 61 62 6c 65 5f 61 6c 69 67 6e 6d 65 te.class="file">variable_alignme
38f60 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c nt.zig</cite></figcaption><pre><
38f80 63 6f 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
38fa0 61 73 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.=.
38fc0 3c 73 70 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
38fe0 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">&
39000 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>.<
39020 73 70 61 6e 20 63 6c 61 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
39040 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 20 3c 73 ok-kw">const</span>.builtin.=.<s
39060 70 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<
39080 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
390a0 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 61 6e 3e ot;builtin&quot;</span>);</span>
390c0 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=
390e0 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
39100 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.
39120 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
39140 3d 22 6c 69 6e 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
39160 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">&
39180 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 26 71 75 6f 74 3b 3c 2f 73 quot;variable.alignment&quot;</s
391a0 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"
391c0 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
391e0 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
39200 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
39220 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
39240 6c 61 73 73 3d 22 6c 69 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
39260 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 5f 69 33 32 20 3d -kw">const</span>.align_of_i32.=
39280 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 6c 69 67 .<span.class="tok-builtin">@alig
392a0 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 62 75 69 6c nOf</span>(<span.class="tok-buil
392c0 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 73 70 61 6e 3e 0a tin">@TypeOf</span>(x));</span>.
392e0 3c 73 70 61 6e 20 63 6c 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
39300 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
39320 70 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<
39340 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 6c 61 73 73 3d 22 /span>(&amp;x).==.*<span.class="
39360 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
39380 70 61 6e 20 63 6c 61 73 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
393a0 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 2a 3c 73 70 ="tok-kw">try</span>.expect(*<sp
393c0 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>.=
393e0 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 =.*<span.class="tok-kw">align</s
39400 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 6c 61 73 73 3d 22 pan>(align_of_i32).<span.class="
39420 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
39440 70 61 6e 20 63 6c 61 73 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
39460 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 ="tok-kw">if</span>.(builtin.tar
39480 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 3c 2f 73 70 61 6e get.cpu.arch.==..x86_64).{</span
394a0 3e 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
394c0 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
394e0 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 ect(<span.class="tok-builtin">@t
39500 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 73 3d 22 74 6f 6b ypeInfo</span>(*<span.class="tok
39520 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 2e 61 6c 69 67 6e -type">i32</span>).Pointer.align
39540 6d 65 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ment.==.<span.class="tok-number"
39560 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 61 73 73 3d 22 >4</span>);</span>.<span.class="
39580 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="
395a0 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
395c0 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
395e0 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
39600 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
39620 3e 7a 69 67 20 74 65 73 74 20 76 61 72 69 61 62 6c 65 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 >zig.test.variable_alignment.zig
39640 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 </kbd></span>.<span.class="line"
39660 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 >1/1.test.&quot;variable.alignme
39680 6e 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 nt&quot;....OK</span>.<span.clas
396a0 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 s="line">All.1.tests.passed.</sp
396c0 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>......
396e0 20 3c 70 3e 49 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 20 61 20 3c 63 6f 64 65 .<p>In.the.same.way.that.a.<code
39700 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 73 73 ><span.class="line">*<span.class
39720 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 70 61 6e 3e 3c 2f 63 ="tok-type">i32</span></span></c
39740 6f 64 65 3e 20 63 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 ode>.can.be.<a.href="#Type-Coerc
39760 69 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 3e 20 74 6f 20 61 0a 20 20 20 20 20 20 20 20 20 20 ion">coerced</a>.to.a...........
39780 3c 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 73 70 61 6e 20 <code><span.class="line">*<span.
397a0 63 6c 61 73 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
397c0 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
397e0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 61 20 6c 61 pan></code>,.a.pointer.with.a.la
39800 72 67 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 69 63 69 74 6c 79 rger.alignment.can.be.implicitly
39820 0a 20 20 20 20 20 20 63 61 73 74 20 74 6f 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 61 20 .......cast.to.a.pointer.with.a.
39840 73 6d 61 6c 6c 65 72 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 62 75 74 20 6e 6f 74 20 76 69 63 65 20 smaller.alignment,.but.not.vice.
39860 76 65 72 73 61 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 versa........</p>.......<p>.....
39880 20 20 59 6f 75 20 63 61 6e 20 73 70 65 63 69 66 79 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 6e 20 76 ..You.can.specify.alignment.on.v
398a0 61 72 69 61 62 6c 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 20 49 66 20 79 6f 75 20 64 ariables.and.functions..If.you.d
398c0 6f 20 74 68 69 73 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 74 o.this,.then.......pointers.to.t
398e0 68 65 6d 20 67 65 74 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 61 6c 69 67 6e 6d 65 6e 74 3a hem.get.the.specified.alignment:
39900 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
39920 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
39940 73 3d 22 66 69 6c 65 22 3e 76 61 72 69 61 62 6c 65 5f 66 75 6e 63 5f 61 6c 69 67 6e 6d 65 6e 74 s="file">variable_func_alignment
39960 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
39980 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
399a0 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.=
399c0 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
399e0 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">
39a00 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.
39a20 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
39a40 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
39a60 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
39a80 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
39aa0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 n>.<span.class="tok-kw">align</s
39ac0 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<
39ae0 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 6e 75 6d 62 65 /span>).=.<span.class="tok-numbe
39b00 72 22 3e 31 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 r">100</span>;</span>.<span.clas
39b20 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
39b40 6e 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
39b60 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
39b80 3b 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 26 71 75 6f 74 3b ;global.variable.alignment&quot;
39ba0 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
39bc0 6e 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
39be0 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-
39c00 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.
39c20 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
39c40 6e 3e 28 26 61 6d 70 3b 66 6f 6f 29 29 2e 50 6f 69 6e 74 65 72 2e 61 6c 69 67 6e 6d 65 6e 74 20 n>(&amp;foo)).Pointer.alignment.
39c60 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 3c 2f 73 ==.<span.class="tok-number">4</s
39c80 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"
39ca0 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
39cc0 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
39ce0 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 29 20 3d ltin">@TypeOf</span>(&amp;foo).=
39d00 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 =.*<span.class="tok-kw">align</s
39d20 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<
39d40 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
39d60 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
39d80 69 6e 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
39da0 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 5f 70 6f 69 6e 74 65 72 5f 74 6f 5f 61 72 72 61 79 3a 20 nst</span>.as_pointer_to_array:.
39dc0 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 *[<span.class="tok-number">1</sp
39de0 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 an>]<span.class="tok-type">u8</s
39e00 70 61 6e 3e 20 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 pan>.=.&amp;foo;</span>.<span.cl
39e20 61 73 73 3d 22 6c 69 6e 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-
39e40 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 5f 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 kw">const</span>.as_slice:.[]<sp
39e60 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>.=.
39e80 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
39ea0 6e 20 63 6c 61 73 73 3d 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="
39ec0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 tok-kw">try</span>.expect(<span.
39ee0 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
39f00 6e 3e 28 61 73 5f 73 6c 69 63 65 29 20 3d 3d 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n>(as_slice).==.[]<span.class="t
39f20 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=
39f40 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">4</span>).<span.cla
39f60 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>
39f80 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
39fa0 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
39fc0 61 73 73 3d 22 6c 69 6e 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">
39fe0 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
3a000 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 6b 77 erp</span>().<span.class="tok-kw
3a020 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">align</span>(<span.class="tok-
3a040 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
3a060 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 20 3c ass="tok-type">usize</span>).*.<
3a080 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>
3a0a0 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 ).<span.class="tok-type">i32</sp
3a0c0 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 an>.{.<span.class="tok-kw">retur
3a0e0 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
3a100 22 3e 31 32 33 34 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 ">1234</span>;.}</span>.<span.cl
3a120 61 73 73 3d 22 6c 69 6e 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">
3a140 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 6e fn</span>.<span.class="tok-fn">n
3a160 6f 6f 70 31 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b oop1</span>().<span.class="tok-k
3a180 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
3a1a0 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">1</span>).<span.class="
3a1c0 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 3e 0a tok-type">void</span>.{}</span>.
3a1e0 3c 73 70 61 6e 20 63 6c 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="
3a200 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
3a220 6f 6b 2d 66 6e 22 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 ok-fn">noop4</span>().<span.clas
3a240 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c s="tok-kw">align</span>(<span.cl
3a260 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e ass="tok-number">4</span>).<span
3a280 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 7d .class="tok-type">void</span>.{}
3a2a0 3c 2f 73 70 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
3a2c0 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
3a2e0 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
3a300 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 20 61 6c 69 67 ss="tok-str">&quot;function.alig
3a320 6e 6d 65 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 3c 73 70 61 nment&quot;</span>.{</span>.<spa
3a340 6e 20 63 6c 61 73 73 3d 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="
3a360 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 65 72 70 28 29 tok-kw">try</span>.expect(derp()
3a380 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 .==.<span.class="tok-number">123
3a3a0 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 3d 22 6c 4</span>);</span>.<span.class="l
3a3c0 69 6e 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
3a3e0 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
3a400 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 6f 6f 70 31 29 20 -builtin">@TypeOf</span>(noop1).
3a420 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e ==.<span.class="tok-kw">fn</span
3a440 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 67 6e 3c 2f >().<span.class="tok-kw">align</
3a460 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 31 span>(<span.class="tok-number">1
3a480 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">
3a4a0 76 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 void</span>);</span>.<span.class
3a4c0 3d 22 6c 69 6e 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"
3a4e0 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="
3a500 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 6f 6f 70 tok-builtin">@TypeOf</span>(noop
3a520 34 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 4).==.<span.class="tok-kw">fn</s
3a540 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 67 pan>().<span.class="tok-kw">alig
3a560 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 72 n</span>(<span.class="tok-number
3a580 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ">4</span>).<span.class="tok-typ
3a5a0 65 22 3e 76 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 e">void</span>);</span>.<span.cl
3a5c0 61 73 73 3d 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 ass="line">....noop1();</span>.<
3a5e0 73 70 61 6e 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 span.class="line">....noop4();</
3a600 73 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
3a620 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><
3a640 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
3a660 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 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
3a680 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 76 61 72 class="line">$.<kbd>zig.test.var
3a6a0 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 6b 62 64 3e 3c 2f iable_func_alignment.zig</kbd></
3a6c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 span>.<span.class="line">1/2.tes
3a6e0 74 20 26 71 75 6f 74 3b 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e t.&quot;global.variable.alignmen
3a700 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 t&quot;....OK</span>.<span.class
3a720 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 20 ="line">2/2.test.&quot;function.
3a740 61 6c 69 67 6e 6d 65 6e 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 alignment&quot;....OK</span>.<sp
3a760 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 an.class="line">All.2.tests.pass
3a780 65 64 2e 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 ed.</span>.</samp></pre></figure
3a7a0 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 20 >.......<p>.......If.you.have.a.
3a7c0 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 6d pointer.or.a.slice.that.has.a.sm
3a7e0 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 74 all.alignment,.but.you.know.that
3a800 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 20 .it.actually.......has.a.bigger.
3a820 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 61 alignment,.use.<a.href="#alignCa
3a840 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 65 st">@alignCast</a>.to.change.the
3a860 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 6e .......pointer.into.a.more.align
3a880 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 72 ed.pointer..This.is.a.no-op.at.r
3a8a0 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 68 untime,.but.inserts.a.......<a.h
3a8c0 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 6e ref="#Incorrect-Pointer-Alignmen
3a8e0 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 0a t">safety.check</a>:.......</p>.
3a900 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=
3a920 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
3a940 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
3a960 6f 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
3a980 73 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.=.<
3a9a0 73 70 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
3a9c0 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
3a9e0 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
3aa00 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
3aa20 6c 61 73 73 3d 22 6c 69 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"
3aa40 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
3aa60 72 22 3e 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 r">&quot;pointer.alignment.safet
3aa80 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 20 63 6c y&quot;</span>.{</span>.<span.cl
3aaa0 61 73 73 3d 22 6c 69 6e 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-
3aac0 6b 77 22 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 kw">var</span>.array.<span.class
3aae0 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ="tok-kw">align</span>(<span.cla
3ab00 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 5b 5f 5d 3c ss="tok-number">4</span>).=.[_]<
3ab20 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>
3ab40 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 {.<span.class="tok-number">0x111
3ab60 31 31 31 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 11111</span>,.<span.class="tok-n
3ab80 75 6d 62 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 umber">0x11111111</span>.};</spa
3aba0 6e 3e 0a 3c 73 70 61 6e 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.
3abc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 class="tok-kw">const</span>.byte
3abe0 73 20 3d 20 73 74 64 2e 6d 65 6d 2e 73 6c 69 63 65 41 73 42 79 74 65 73 28 61 72 72 61 79 5b 3c s.=.std.mem.sliceAsBytes(array[<
3ac00 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>
3ac20 2e 2e 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 ..]);</span>.<span.class="line">
3ac40 20 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
3ac60 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 66 6f 6f 28 62 79 74 65 73 an>.std.testing.expect(foo(bytes
3ac80 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 78 ).==.<span.class="tok-number">0x
3aca0 31 31 31 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 11111111</span>);</span>.<span.c
3acc0 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
3ace0 3d 22 6c 69 6e 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<
3ad00 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c /span>.<span.class="tok-fn">foo<
3ad20 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 3d 22 74 6f 6b /span>(bytes:.[]<span.class="tok
3ad40 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 74 -type">u8</span>).<span.class="t
3ad60 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 0a 3c 73 70 ok-type">u32</span>.{</span>.<sp
3ad80 61 6e 20 63 6c 61 73 73 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=
3ada0 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 34 20 3d 20 62 "tok-kw">const</span>.slice4.=.b
3adc0 79 74 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c ytes[<span.class="tok-number">1<
3ade0 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 65 72 22 /span>..<span.class="tok-number"
3ae00 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="
3ae20 6c 69 6e 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
3ae40 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 73 74 64 2e 6d 65 6d 2e onst</span>.int_slice.=.std.mem.
3ae60 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 79 bytesAsSlice(<span.class="tok-ty
3ae80 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 6b pe">u32</span>,.<span.class="tok
3aea0 2d 62 75 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 3c 73 70 61 -builtin">@alignCast</span>(<spa
3aec0 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 73 n.class="tok-number">4</span>,.s
3aee0 6c 69 63 65 34 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 lice4));</span>.<span.class="lin
3af00 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
3af20 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d rn</span>.int_slice[<span.class=
3af40 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>.<
3af60 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
3af80 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
3afa0 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
3afc0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
3afe0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f line">$.<kbd>zig.test.test.zig</
3b000 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 kbd></span>.<span.class="line">1
3b020 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 /1.test.&quot;pointer.alignment.
3b040 73 61 66 65 74 79 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 31 34 32 35 31 30 34 20 70 safety&quot;....thread.1425104.p
3b060 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 3c 2f 73 70 61 6e 3e anic:.incorrect.alignment</span>
3b080 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=
3b0a0 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e "t1_0">/home/andy/tmp/zig/docgen
3b0c0 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 36 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 _tmp/test.zig:10:63</span>:.<spa
3b0e0 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 66 38 63 20 69 6e 20 66 6f 6f 20 28 n.class="t2_0">0x207f8c.in.foo.(
3b100 74 65 73 74 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 73 73 3d test)</span></span>.<span.class=
3b120 22 6c 69 6e 65 22 3e 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 "line">....const.int_slice.=.std
3b140 2e 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c 69 63 65 28 75 33 32 2c 20 40 61 6c 69 67 6e 43 61 73 .mem.bytesAsSlice(u32,.@alignCas
3b160 74 28 34 2c 20 73 6c 69 63 65 34 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 t(4,.slice4));</span>.<span.clas
3b180 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 20 s="line">.......................
3b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3b1c0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 .......<span.class="t32_1">^</sp
3b1e0 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
3b200 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
3b220 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 33 31 3c 2f 73 70 zig/docgen_tmp/test.zig:6:31</sp
3b240 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 39 30 39 an>:.<span.class="t2_0">0x207909
3b260 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 .in.test.&quot;pointer.alignment
3b280 20 73 61 66 65 74 79 26 71 75 6f 74 3b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 .safety&quot;.(test)</span></spa
3b2a0 6e 3e 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 72 79 20 73 74 n>.<span.class="line">....try.st
3b2c0 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 3d 20 30 d.testing.expect(foo(bytes).==.0
3b2e0 78 31 31 31 31 31 31 31 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 x11111111);</span>.<span.class="
3b300 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 20 20 line">..........................
3b320 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e ....<span.class="t32_1">^</span>
3b340 3c 2f 73 70 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
3b360 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 .class="t1_0">/home/andy/tmp/zig
3b380 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 /lib/std/special/test_runner.zig
3b3a0 3a 38 30 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 :80:28</span>:.<span.class="t2_0
3b3c0 22 3e 30 78 32 32 66 33 64 33 20 69 6e 20 73 74 64 2e 73 70 65 63 69 61 6c 2e 6d 61 69 6e 20 28 ">0x22f3d3.in.std.special.main.(
3b3e0 74 65 73 74 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 73 73 3d test)</span></span>.<span.class=
3b400 22 6c 69 6e 65 22 3e 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 "line">........}.else.test_fn.fu
3b420 6e 63 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 nc();</span>.<span.class="line">
3b440 20 20 20 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
3b460 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
3b480 73 70 61 6e 20 63 6c 61 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
3b4a0 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
3b4c0 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:551:22</span>:.<span.c
3b4e0 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 38 37 34 63 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x22874c.in.std.star
3b500 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a t.callMain.(test)</span></span>.
3b520 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
3b540 6f 6f 74 2e 6d 61 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 22 oot.main();</span>.<span.class="
3b560 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 3c 73 70 61 6e line">.....................<span
3b580 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
3b5a0 73 70 61 6e 20 63 6c 61 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
3b5c0 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
3b5e0 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:495:12</span>:.<span.c
3b600 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 33 64 65 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x2093de.in.std.star
3b620 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e t.callMainWithArgs.(test)</span>
3b640 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 </span>.<span.class="line">....r
3b660 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 eturn.@call(.{..modifier.=..alwa
3b680 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 ys_inline.},.callMain,..{});</sp
3b6a0 61 6e 3e 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">.........
3b6c0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f ..<span.class="t32_1">^</span></
3b6e0 73 70 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
3b700 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c lass="t1_0">/home/andy/tmp/zig/l
3b720 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 ib/std/start.zig:409:17</span>:.
3b740 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 33 65 36 20 69 6e 20 73 <span.class="t2_0">0x2083e6.in.s
3b760 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 td.start.posixCallMainAndExit.(t
3b780 65 73 74 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 73 73 3d 22 est)</span></span>.<span.class="
3b7a0 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e line">....std.os.exit(@call(.{..
3b7c0 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c modifier.=..always_inline.},.cal
3b7e0 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e lMainWithArgs,..{.argc,.argv,.en
3b800 76 70 20 7d 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 vp.}));</span>.<span.class="line
3b820 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
3b840 33 32 5f 31 22 3e 5e 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 32_1">^</span></span>.<span.clas
3b860 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d s="line"><span.class="t1_0">/hom
3b880 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 e/andy/tmp/zig/lib/std/start.zig
3b8a0 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 :322:5</span>:.<span.class="t2_0
3b8c0 22 3e 30 78 32 30 38 31 66 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 ">0x2081f2.in.std.start._start.(
3b8e0 74 65 73 74 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 73 73 3d test)</span></span>.<span.class=
3b900 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 "line">....@call(.{..modifier.=.
3b920 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e .never_inline.},.posixCallMainAn
3b940 64 45 78 69 74 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 dExit,..{});</span>.<span.class=
3b960 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e "line">....<span.class="t32_1">^
3b980 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
3b9a0 22 3e 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
3b9c0 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d and.crashed:</span>.<span.class=
3b9e0 22 6c 69 6e 65 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 65 36 "line">docgen_tmp/zig-cache/o/e6
3ba00 32 64 35 62 36 34 33 64 30 38 66 31 61 63 62 62 31 33 38 36 64 62 39 32 65 62 30 66 32 33 2f 74 2d5b643d08f1acbb1386db92eb0f23/t
3ba20 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c est./home/andy/tmp/zig/build-rel
3ba40 65 61 73 65 2f 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 ease/zig</span>.</samp></pre></f
3ba60 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 61 6c 6c igure>...............<h3.id="all
3ba80 6f 77 7a 65 72 6f 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 6c 6c 6f 77 7a 65 72 6f 22 owzero"><a.href="#toc-allowzero"
3baa0 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 >allowzero</a>.<a.class="hdr".hr
3bac0 65 66 3d 22 23 61 6c 6c 6f 77 7a 65 72 6f 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 ef="#allowzero">..</a></h3>.....
3bae0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 62 ...<p>.......This.pointer.attrib
3bb00 75 74 65 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 ute.allows.a.pointer.to.have.add
3bb20 72 65 73 73 20 7a 65 72 6f 2e 20 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 65 76 65 72 20 6e 65 65 ress.zero..This.is.only.ever.nee
3bb40 64 65 64 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 20 66 72 65 65 73 74 61 6e 64 69 6e 67 20 4f 53 ded.on.the.......freestanding.OS
3bb60 20 74 61 72 67 65 74 2c 20 77 68 65 72 65 20 74 68 65 20 61 64 64 72 65 73 73 20 7a 65 72 6f 20 .target,.where.the.address.zero.
3bb80 69 73 20 6d 61 70 70 61 62 6c 65 2e 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 70 72 is.mappable..If.you.want.to.repr
3bba0 65 73 65 6e 74 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 73 2c 20 75 73 65 0a 20 20 20 20 20 20 3c esent.null.pointers,.use.......<
3bbc0 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 a.href="#Optional-Pointers">Opti
3bbe0 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 69 6e 73 74 65 61 64 2e 20 3c 61 20 68 72 onal.Pointers</a>.instead..<a.hr
3bc00 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c ef="#Optional-Pointers">Optional
3bc20 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .Pointers</a>.with.<code><span.c
3bc40 6c 61 73 73 3d 22 6c 69 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"
3bc60 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 3e 0a >allowzero</span></span></code>.
3bc80 20 20 20 20 20 20 61 72 65 20 6e 6f 74 20 74 68 65 20 73 61 6d 65 20 73 69 7a 65 20 61 73 20 70 ......are.not.the.same.size.as.p
3bca0 6f 69 6e 74 65 72 73 2e 20 49 6e 20 74 68 69 73 20 63 6f 64 65 20 65 78 61 6d 70 6c 65 2c 20 69 ointers..In.this.code.example,.i
3bcc0 66 20 74 68 65 20 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 64 69 64 20 6e 6f 74 20 68 61 76 65 f.the.pointer.......did.not.have
3bce0 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 73 .the.<code><span.class="line"><s
3bd00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 pan.class="tok-kw">allowzero</sp
3bd20 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 74 74 72 69 62 75 74 65 2c 20 74 68 69 an></span></code>.attribute,.thi
3bd40 73 20 77 6f 75 6c 64 20 62 65 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 s.would.be.a.......<a.href="#Poi
3bd60 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f 69 6e 74 65 72 20 nter-Cast-Invalid-Null">Pointer.
3bd80 43 61 73 74 20 49 6e 76 61 6c 69 64 20 4e 75 6c 6c 3c 2f 61 3e 20 70 61 6e 69 63 3a 0a 20 20 20 Cast.Invalid.Null</a>.panic:....
3bda0 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
3bdc0 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
3bde0 69 6c 65 22 3e 61 6c 6c 6f 77 7a 65 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 ile">allowzero.zig</cite></figca
3be00 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
3be20 6e 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</
3be40 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
3be60 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
3be80 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
3bea0 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
3bec0 70 61 6e 20 63 6c 61 73 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>.
3bee0 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
3bf00 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>.<
3bf20 73 70 61 6e 20 63 6c 61 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
3bf40 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="
3bf60 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6c 6c 6f 77 7a 65 72 6f 26 71 75 6f 74 3b 3c 2f tok-str">&quot;allowzero&quot;</
3bf80 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
3bfa0 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</
3bfc0 73 70 61 6e 3e 20 7a 65 72 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 span>.zero:.<span.class="tok-typ
3bfe0 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 74 e">usize</span>.=.<span.class="t
3c000 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
3c020 6e 20 63 6c 61 73 73 3d 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="
3c040 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 tok-kw">var</span>.ptr.=.<span.c
3c060 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 lass="tok-builtin">@intToPtr</sp
3c080 61 6e 3e 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 6c 6f 77 7a an>(*<span.class="tok-kw">allowz
3c0a0 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 74 79 70 65 ero</span>.<span.class="tok-type
3c0c0 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 7a 65 72 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ">i32</span>,.zero);</span>.<spa
3c0e0 6e 20 63 6c 61 73 73 3d 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="
3c100 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 tok-kw">try</span>.expect(<span.
3c120 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 class="tok-builtin">@ptrToInt</s
3c140 70 61 6e 3e 28 70 74 72 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 pan>(ptr).==.<span.class="tok-nu
3c160 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 6c mber">0</span>);</span>.<span.cl
3c180 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>
3c1a0 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
3c1c0 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
3c1e0 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ><pre><samp><span.class="line">$
3c200 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 6c 6c 6f 77 7a 65 72 6f 2e 7a 69 67 3c 2f 6b 62 .<kbd>zig.test.allowzero.zig</kb
3c220 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 d></span>.<span.class="line">1/1
3c240 20 74 65 73 74 20 26 71 75 6f 74 3b 61 6c 6c 6f 77 7a 65 72 6f 26 71 75 6f 74 3b 2e 2e 2e 20 4f .test.&quot;allowzero&quot;....O
3c260 4b 3c 2f 73 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 6c 6c 20 K</span>.<span.class="line">All.
3c280 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 1.tests.passed.</span>.</samp></
3c2a0 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.
3c2c0 69 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 id="Sentinel-Terminated-Pointers
3c2e0 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 54 65 72 6d 69 6e 61 "><a.href="#toc-Sentinel-Termina
3c300 74 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 ted-Pointers">Sentinel-Terminate
3c320 64 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 d.Pointers</a>.<a.class="hdr".hr
3c340 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 ef="#Sentinel-Terminated-Pointer
3c360 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>.......
3c380 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 69 The.syntax.<code><span.class="li
3c3a0 6e 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 ne">[*:x]T</span></code>.describ
3c3c0 65 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 es.a.pointer.that.......has.a.le
3c3e0 6e 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 ngth.determined.by.a.sentinel.va
3c400 6c 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 lue..This.provides.protection...
3c420 20 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 ....against.buffer.overflow.and.
3c440 6f 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 overreads........</p>.......<fig
3c460 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">
3c480 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 <cite.class="file">test.zig</cit
3c4a0 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.
3c4c0 63 6c 61 73 73 3d 22 6c 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
3c4e0 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
3c500 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
3c520 70 61 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
3c540 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=
3c560 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
3c580 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
3c5a0 68 69 73 20 69 73 20 61 6c 73 6f 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 60 73 74 64 2e 63 2e his.is.also.available.as.`std.c.
3c5c0 70 72 69 6e 74 66 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 printf`.</span></span>.<span.cla
3c5e0 73 73 3d 22 6c 69 6e 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
3c600 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
3c620 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 xtern</span>.<span.class="tok-st
3c640 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c r">&quot;c&quot;</span>.<span.cl
3c660 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
3c680 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 74 ss="tok-fn">printf</span>(format
3c6a0 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 3c :.[*:<span.class="tok-number">0<
3c6c0 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 /span>]<span.class="tok-kw">cons
3c6e0 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">
3c700 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 6b u8</span>,....).<span.class="tok
3c720 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 61 -type">c_int</span>;</span>.<spa
3c740 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
3c760 73 73 3d 22 6c 69 6e 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
3c780 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ub</span>.<span.class="tok-kw">f
3c7a0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 n</span>.<span.class="tok-fn">ma
3c7c0 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 in</span>().<span.class="tok-typ
3c7e0 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e">anyerror</span>!<span.class="
3c800 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>.<
3c820 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 70 72 69 6e 74 66 span.class="line">...._.=.printf
3c840 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c (<span.class="tok-str">&quot;Hel
3c860 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 20 3c 73 70 61 lo,.world!\n&quot;</span>);.<spa
3c880 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 4b 3c 2f 73 70 61 n.class="tok-comment">//.OK</spa
3c8a0 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 73 n></span>.<span.class="line"></s
3c8c0 70 61 6e 3e 0a 3c 73 70 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
3c8e0 6e 20 63 6c 61 73 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 73 n.class="tok-kw">const</span>.ms
3c900 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b g.=.<span.class="tok-str">&quot;
3c920 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 Hello,.world!\n&quot;</span>;</s
3c940 70 61 6e 3e 0a 3c 73 70 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
3c960 6e 20 63 6c 61 73 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 6f n.class="tok-kw">const</span>.no
3c980 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 3a 20 5b 6d 73 67 2e 6c 65 6e 5d n_null_terminated_msg:.[msg.len]
3c9a0 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>
3c9c0 20 3d 20 6d 73 67 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .=.msg.*;</span>.<span.class="li
3c9e0 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 72 69 6e 74 66 28 26 61 6d 70 3b 6e 6f 6e 5f 6e 75 6c 6c ne">...._.=.printf(&amp;non_null
3ca00 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 _terminated_msg);</span>.<span.c
3ca20 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
3ca40 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
3ca60 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
3ca80 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
3caa0 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 2e 7a 69 67 20 2d 6c $.<kbd>zig.build-exe.test.zig.-l
3cac0 63 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 c</kbd></span>.<span.class="line
3cae0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d "><span.class="t0_1">./docgen_tm
3cb00 70 2f 74 65 73 74 2e 7a 69 67 3a 31 31 3a 31 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 p/test.zig:11:17:.</span><span.c
3cb20 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e lass="t31_1">error:.</span><span
3cb40 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 5b 2a 3a .class="t0_1">expected.type.'[*:
3cb60 30 5d 63 6f 6e 73 74 20 75 38 27 2c 20 66 6f 75 6e 64 20 27 2a 63 6f 6e 73 74 20 5b 31 34 5d 75 0]const.u8',.found.'*const.[14]u
3cb80 38 27 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 8'</span></span>.<span.class="li
3cba0 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 72 69 6e 74 66 28 26 61 6d 70 3b 6e 6f 6e 5f 6e 75 6c 6c ne">...._.=.printf(&amp;non_null
3cbc0 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 _terminated_msg);</span>.<span.c
3cbe0 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 73 70 61 lass="line">................<spa
3cc00 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
3cc20 3c 73 70 61 6e 20 63 6c 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="
3cc40 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 31 3a 31 t0_1">./docgen_tmp/test.zig:11:1
3cc60 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 7:.</span><span.class="t36_1">no
3cc80 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 64 65 te:.</span><span.class="t0_1">de
3cca0 73 74 69 6e 61 74 69 6f 6e 20 70 6f 69 6e 74 65 72 20 72 65 71 75 69 72 65 73 20 61 20 74 65 72 stination.pointer.requires.a.ter
3ccc0 6d 69 6e 61 74 69 6e 67 20 27 30 27 20 73 65 6e 74 69 6e 65 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 minating.'0'.sentinel</span></sp
3cce0 61 6e 3e 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 70 an>.<span.class="line">...._.=.p
3cd00 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 64 5f 6d rintf(&amp;non_null_terminated_m
3cd20 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 22 3e 20 sg);</span>.<span.class="line">.
3cd40 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 33 32 5f ...............<span.class="t32_
3cd60 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 1">^</span></span>.</samp></pre>
3cd80 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e </figure>.......<p>See.also:</p>
3cda0 3c 75 6c 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 <ul>.<li><a.href="#Sentinel-Term
3cdc0 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 inated-Slices">Sentinel-Terminat
3cde0 65 64 20 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 ed.Slices</a></li>.<li><a.href="
3ce00 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 53 65 6e #Sentinel-Terminated-Arrays">Sen
3ce20 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e tinel-Terminated.Arrays</a></li>
3ce40 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 .</ul>.......................<h2
3ce60 20 69 64 3d 22 53 6c 69 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 6c 69 63 65 .id="Slices"><a.href="#toc-Slice
3ce80 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 s">Slices</a>.<a.class="hdr".hre
3cea0 66 3d 22 23 53 6c 69 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c f="#Slices">..</a></h2>........<
3cec0 66 69 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
3cee0 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 7a 69 67 3c 2f p"><cite.class="file">test.zig</
3cf00 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
3cf20 61 6e 20 63 6c 61 73 73 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
3cf40 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
3cf60 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
3cf80 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;
3cfa0 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
3cfc0 3b 3c 2f 73 70 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
3cfe0 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
3d000 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
3d020 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 73 69 63 20 73 6c 69 63 65 73 ass="tok-str">&quot;basic.slices
3d040 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
3d060 73 73 3d 22 6c 69 6e 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
3d080 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 w">var</span>.array.=.[_]<span.c
3d0a0 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 73 70 61 lass="tok-type">i32</span>{.<spa
3d0c0 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 2c 20 3c n.class="tok-number">1</span>,.<
3d0e0 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>
3d100 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 2f 73 70 ,.<span.class="tok-number">3</sp
3d120 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<
3d140 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
3d160 6e 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
3d180 22 3e 2f 2f 20 41 20 73 6c 69 63 65 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 61 6e 64 20 61 20 ">//.A.slice.is.a.pointer.and.a.
3d1a0 6c 65 6e 67 74 68 2e 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e 20 61 length..The.difference.between.a
3d1c0 6e 20 61 72 72 61 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 n.array.and</span></span>.<span.
3d1e0 63 6c 61 73 73 3d 22 6c 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
3d200 6b 2d 63 6f 6d 6d 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 k-comment">//.a.slice.is.that.th
3d220 65 20 61 72 72 61 79 27 73 20 6c 65 6e 67 74 68 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 e.array's.length.is.part.of.the.
3d240 74 79 70 65 20 61 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 type.and.known.at</span></span>.
3d260 3c 73 70 61 6e 20 63 6c 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
3d280 73 73 3d 22 74 6f 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 ss="tok-comment">//.compile-time
3d2a0 2c 20 77 68 65 72 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 ,.whereas.the.slice's.length.is.
3d2c0 6b 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 known.at.runtime.</span></span>.
3d2e0 3c 73 70 61 6e 20 63 6c 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
3d300 73 73 3d 22 74 6f 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 ss="tok-comment">//.Both.can.be.
3d320 61 63 63 65 73 73 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 accessed.with.the.`len`.field.</
3d340 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">
3d360 20 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
3d380 61 6e 3e 20 6b 6e 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 an>.known_at_runtime_zero:.<span
3d3a0 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>.=
3d3c0 20 3c 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
3d3e0 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">..
3d400 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
3d420 61 6e 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 6b 6e 6f 77 6e 5f 61 74 5f 72 75 6e 74 69 an>.slice.=.array[known_at_runti
3d440 6d 65 5f 7a 65 72 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 me_zero..array.len];</span>.<spa
3d460 6e 20 63 6c 61 73 73 3d 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="
3d480 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 26 61 6d 70 3b 73 tok-kw">try</span>.expect(&amp;s
3d4a0 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c lice[<span.class="tok-number">0<
3d4c0 2f 73 70 61 6e 3e 5d 20 3d 3d 20 26 61 6d 70 3b 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 /span>].==.&amp;array[<span.clas
3d4e0 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 61 6e s="tok-number">0</span>]);</span
3d500 3e 0a 3c 73 70 61 6e 20 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
3d520 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(
3d540 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 61 72 72 61 79 2e 6c 65 6e 29 3b 3c 2f 73 70 61 6e 3e 0a slice.len.==.array.len);</span>.
3d560 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
3d580 20 63 6c 61 73 73 3d 22 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
3d5a0 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 73 ok-comment">//.Using.the.address
3d5c0 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 20 -of.operator.on.a.slice.gives.a.
3d5e0 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 61 single-item.pointer,</span></spa
3d600 6e 3e 0a 3c 73 70 61 6e 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.
3d620 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 69 class="tok-comment">//.while.usi
3d640 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 2d ng.the.`ptr`.field.gives.a.many-
3d660 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 61 item.pointer.</span></span>.<spa
3d680 6e 20 63 6c 61 73 73 3d 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="
3d6a0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 tok-kw">try</span>.expect(<span.
3d6c0 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
3d6e0 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 3d n>(slice.ptr).==.[*]<span.class=
3d700 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 3c "tok-type">i32</span>);</span>.<
3d720 73 70 61 6e 20 63 6c 61 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
3d740 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
3d760 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</
3d780 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 6f span>(&amp;slice[<span.class="to
3d7a0 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 63 k-number">0</span>]).==.*<span.c
3d7c0 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
3d7e0 61 6e 3e 0a 3c 73 70 61 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
3d800 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
3d820 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 70 74 72 t(<span.class="tok-builtin">@ptr
3d840 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 2e 70 74 72 29 20 3d 3d 20 3c 73 70 61 6e ToInt</span>(slice.ptr).==.<span
3d860 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 54 6f 49 6e 74 3c 2f .class="tok-builtin">@ptrToInt</
3d880 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 6f span>(&amp;slice[<span.class="to
3d8a0 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 6e 3e 0a 3c 73 k-number">0</span>]));</span>.<s
3d8c0 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
3d8e0 6c 61 73 73 3d 22 6c 69 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
3d900 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 72 61 79 20 62 -comment">//.Slices.have.array.b
3d920 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 74 6f 20 61 63 ounds.checking..If.you.try.to.ac
3d940 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 73 70 61 6e 3e cess.something.out</span></span>
3d960 0a 3c 73 70 61 6e 20 63 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
3d980 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 6e 64 73 2c 20 ass="tok-comment">//.of.bounds,.
3d9a0 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 61 69 6c 75 72 you'll.get.a.safety.check.failur
3d9c0 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 69 e:</span></span>.<span.class="li
3d9e0 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 74 6f 6b 2d 6e ne">....slice[<span.class="tok-n
3da00 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 63 6c 61 73 73 umber">10</span>].+=.<span.class
3da20 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>.<
3da40 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.
3da60 63 6c 61 73 73 3d 22 6c 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
3da80 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 69 63 65 2e 70 k-comment">//.Note.that.`slice.p
3daa0 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 63 68 65 63 6b tr`.does.not.invoke.safety.check
3dac0 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 2f 73 70 61 6e ing,.while.`&amp;slice[0]`</span
3dae0 3e 3c 2f 73 70 61 6e 3e 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">....
3db00 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 73 <span.class="tok-comment">//.ass
3db20 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 20 26 67 74 3b erts.that.the.slice.has.len.&gt;
3db40 3d 20 31 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 =.1.</span></span>.<span.class="
3db60 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
3db80 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
3dba0 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
3dbc0 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
3dbe0 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a >zig.test.test.zig</kbd></span>.
3dc00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f <span.class="line">1/1.test.&quo
3dc20 74 3b 62 61 73 69 63 20 73 6c 69 63 65 73 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 31 t;basic.slices&quot;....thread.1
3dc40 34 32 35 37 39 37 20 70 61 6e 69 63 3a 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 425797.panic:.index.out.of.bound
3dc60 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 3c 73 70 61 s</span>.<span.class="line"><spa
3dc80 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 n.class="t1_0">/home/andy/tmp/zi
3dca0 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 32 3a 31 30 3c 2f 73 70 61 g/docgen_tmp/test.zig:22:10</spa
3dcc0 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 62 32 33 20 n>:.<span.class="t2_0">0x207b23.
3dce0 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 62 61 73 69 63 20 73 6c 69 63 65 73 26 71 75 6f 74 3b in.test.&quot;basic.slices&quot;
3dd00 20 28 74 65 73 74 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 73 .(test)</span></span>.<span.clas
3dd20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6c 69 63 65 5b 31 30 5d 20 2b 3d 20 31 3b 3c 2f 73 70 s="line">....slice[10].+=.1;</sp
3dd40 61 6e 3e 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">.........
3dd60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
3dd80 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
3dda0 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
3ddc0 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 38 30 3a /std/special/test_runner.zig:80:
3dde0 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 28</span>:.<span.class="t2_0">0x
3de00 32 32 66 33 64 33 20 69 6e 20 73 74 64 2e 73 70 65 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 22f3d3.in.std.special.main.(test
3de20 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 73 73 3d 22 6c 69 6e )</span></span>.<span.class="lin
3de40 65 22 3e 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 29 e">........}.else.test_fn.func()
3de60 3b 3c 2f 73 70 61 6e 3e 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">....
3de80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 .......................<span.cla
3dea0 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="t32_1">^</span></span>.<span
3dec0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
3dee0 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 >/home/andy/tmp/zig/lib/std/star
3df00 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 t.zig:551:22</span>:.<span.class
3df20 3d 22 74 32 5f 30 22 3e 30 78 32 32 38 37 34 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 ="t2_0">0x22874c.in.std.start.ca
3df40 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 llMain.(test)</span></span>.<spa
3df60 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 6f 6f 74 2e n.class="line">............root.
3df80 6d 61 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 22 6c 69 6e 65 main();</span>.<span.class="line
3dfa0 22 3e 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 ">.....................<span.cla
3dfc0 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="t32_1">^</span></span>.<span
3dfe0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
3e000 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 >/home/andy/tmp/zig/lib/std/star
3e020 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 t.zig:495:12</span>:.<span.class
3e040 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 33 64 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 ="t2_0">0x2093de.in.std.start.ca
3e060 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 llMainWithArgs.(test)</span></sp
3e080 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 an>.<span.class="line">....retur
3e0a0 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 n.@call(.{..modifier.=..always_i
3e0c0 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a nline.},.callMain,..{});</span>.
3e0e0 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 3c 73 <span.class="line">...........<s
3e100 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e pan.class="t32_1">^</span></span
3e120 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
3e140 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 ="t1_0">/home/andy/tmp/zig/lib/s
3e160 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 td/start.zig:409:17</span>:.<spa
3e180 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 34 37 36 20 69 6e 20 73 74 64 2e 73 n.class="t2_0">0x208476.in.std.s
3e1a0 74 61 72 74 2e 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 tart.posixCallMainAndExit.(test)
3e1c0 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
3e1e0 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 ">....std.os.exit(@call(.{..modi
3e200 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 fier.=..always_inline.},.callMai
3e220 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d nWithArgs,..{.argc,.argv,.envp.}
3e240 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 20 ));</span>.<span.class="line">..
3e260 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 33 32 5f 31 ..............<span.class="t32_1
3e280 22 3e 5e 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 ">^</span></span>.<span.class="l
3e2a0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e ine"><span.class="t1_0">/home/an
3e2c0 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 dy/tmp/zig/lib/std/start.zig:322
3e2e0 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 :5</span>:.<span.class="t2_0">0x
3e300 32 30 38 32 38 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 208282.in.std.start._start.(test
3e320 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 73 73 3d 22 6c 69 6e )</span></span>.<span.class="lin
3e340 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 e">....@call(.{..modifier.=..nev
3e360 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 er_inline.},.posixCallMainAndExi
3e380 74 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 6c 69 6e t,..{});</span>.<span.class="lin
3e3a0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 e">....<span.class="t32_1">^</sp
3e3c0 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 65 72 an></span>.<span.class="line">er
3e3e0 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.
3e400 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e crashed:</span>.<span.class="lin
3e420 65 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 e">docgen_tmp/zig-cache/o/e62d5b
3e440 36 34 33 64 30 38 66 31 61 63 62 62 31 33 38 36 64 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 643d08f1acbb1386db92eb0f23/test.
3e460 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 /home/andy/tmp/zig/build-release
3e480 2f 7a 69 67 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 /zig</span>.</samp></pre></figur
3e4a0 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 65 61 73 6f 6e 20 77 e>.......<p>This.is.one.reason.w
3e4c0 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 72 73 2e 3c 2f 70 3e e.prefer.slices.to.pointers.</p>
3e4e0 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
3e500 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 73 6c ="zig-cap"><cite.class="file">sl
3e520 69 63 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 ices.zig</cite></figcaption><pre
3e540 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.
3e560 63 6c 61 73 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.
3e580 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
3e5a0 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"
3e5c0 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>
3e5e0 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=
3e600 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
3e620 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.
3e640 63 6c 61 73 73 3d 22 6c 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
3e660 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 3c 2f 73 ">const</span>.mem.=.std.mem;</s
3e680 70 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
3e6a0 61 73 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 6d 74 20 3d 20 ass="tok-kw">const</span>.fmt.=.
3e6c0 73 74 64 2e 66 6d 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 std.fmt;</span>.<span.class="lin
3e6e0 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
3e700 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>.<
3e720 73 70 61 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 67 span.class="tok-str">&quot;using
3e740 20 73 6c 69 63 65 73 20 66 6f 72 20 73 74 72 69 6e 67 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e .slices.for.strings&quot;</span>
3e760 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">...
3e780 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 5a 69 .<span.class="tok-comment">//.Zi
3e7a0 67 20 68 61 73 20 6e 6f 20 63 6f 6e 63 65 70 74 20 6f 66 20 73 74 72 69 6e 67 73 2e 20 53 74 72 g.has.no.concept.of.strings..Str
3e7c0 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 61 72 65 20 63 6f 6e 73 74 20 70 6f 69 6e 74 65 72 73 3c ing.literals.are.const.pointers<
3e7e0 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"
3e800 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">/
3e820 2f 20 74 6f 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 61 72 72 61 79 73 20 6f 66 20 75 /.to.null-terminated.arrays.of.u
3e840 38 2c 20 61 6e 64 20 62 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 3c 8,.and.by.convention.parameters<
3e860 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"
3e880 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">/
3e8a0 2f 20 74 68 61 74 20 61 72 65 20 26 71 75 6f 74 3b 73 74 72 69 6e 67 73 26 71 75 6f 74 3b 20 61 /.that.are.&quot;strings&quot;.a
3e8c0 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 20 re.expected.to.be.UTF-8.encoded.
3e8e0 73 6c 69 63 65 73 20 6f 66 20 75 38 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 slices.of.u8.</span></span>.<spa
3e900 6e 20 63 6c 61 73 73 3d 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="
3e920 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 65 20 77 65 20 63 6f 65 72 63 65 20 2a tok-comment">//.Here.we.coerce.*
3e940 63 6f 6e 73 74 20 5b 35 3a 30 5d 75 38 20 61 6e 64 20 2a 63 6f 6e 73 74 20 5b 36 3a 30 5d 75 38 const.[5:0]u8.and.*const.[6:0]u8
3e960 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .to.[]const.u8</span></span>.<sp
3e980 61 6e 20 63 6c 61 73 73 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=
3e9a0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 3a 20 5b 5d 3c "tok-kw">const</span>.hello:.[]<
3e9c0 73 70 61 6e 20 63 6c 61 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>
3e9e0 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
3ea00 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;
3ea20 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
3ea40 20 63 6c 61 73 73 3d 22 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
3ea60 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 6f 72 6c 64 3a 20 5b 5d 3c 73 70 ok-kw">const</span>.world:.[]<sp
3ea80 61 6e 20 63 6c 61 73 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>.<
3eaa0 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>.
3eac0 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 e4 b8 =.<span.class="tok-str">&quot;..
3eae0 96 e7 95 8c 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 ....&quot;</span>;</span>.<span.
3eb00 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
3eb20 3d 22 6c 69 6e 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"
3eb40 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 3a 20 5b 3c 73 70 61 6e >var</span>.all_together:.[<span
3eb60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 5d 3c .class="tok-number">100</span>]<
3eb80 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>.
3eba0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e =.<span.class="tok-null">undefin
3ebc0 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 73 3d 22 6c ed</span>;</span>.<span.class="l
3ebe0 69 6e 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
3ec00 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 75 73 65 20 73 6c 69 63 65 20 73 79 6e 74 61 78 20 6f t">//.You.can.use.slice.syntax.o
3ec20 6e 20 61 6e 20 61 72 72 61 79 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 61 72 72 61 79 20 69 n.an.array.to.convert.an.array.i
3ec40 6e 74 6f 20 61 20 73 6c 69 63 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e nto.a.slice.</span></span>.<span
3ec60 20 63 6c 61 73 73 3d 22 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
3ec80 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 68 65 72 ok-kw">const</span>.all_together
3eca0 5f 73 6c 69 63 65 20 3d 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 5b 3c 73 70 61 6e 20 63 6c 61 73 _slice.=.all_together[<span.clas
3ecc0 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 3b 3c 2f 73 70 61 s="tok-number">0</span>..];</spa
3ece0 6e 3e 0a 3c 73 70 61 6e 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.
3ed00 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 69 6e 67 20 63 6f class="tok-comment">//.String.co
3ed20 6e 63 61 74 65 6e 61 74 69 6f 6e 20 65 78 61 6d 70 6c 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ncatenation.example.</span></spa
3ed40 6e 3e 0a 3c 73 70 61 6e 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.
3ed60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c class="tok-kw">const</span>.hell
3ed80 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 6b 2d 6b 77 22 3e 74 o_world.=.<span.class="tok-kw">t
3eda0 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 6c 5f 74 6f 67 65 74 ry</span>.fmt.bufPrint(all_toget
3edc0 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 6f 6b 2d 73 74 72 22 her_slice,.<span.class="tok-str"
3ede0 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 6e 3e 2c 20 2e 7b 20 >&quot;{s}.{s}&quot;</span>,..{.
3ee00 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 73 70 61 6e 20 63 6c hello,.world.});</span>.<span.cl
3ee20 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="
3ee40 6c 69 6e 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
3ee60 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 20 75 73 65 20 55 54 nt">//.Generally,.you.can.use.UT
3ee80 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 68 65 74 68 65 72 20 F-8.and.not.worry.about.whether.
3eea0 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 61 6e 3e 0a 3c 73 70 something.is.a</span></span>.<sp
3eec0 61 6e 20 63 6c 61 73 73 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=
3eee0 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 49 66 20 79 6f 75 20 "tok-comment">//.string..If.you.
3ef00 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 6e 64 69 76 69 64 75 don't.need.to.deal.with.individu
3ef20 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 70 61 6e 3e 3c 2f 73 al.characters,.no.need</span></s
3ef40 70 61 6e 3e 0a 3c 73 70 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
3ef60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 64 65 63 6f n.class="tok-comment">//.to.deco
3ef80 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 3d 22 6c de.</span></span>.<span.class="l
3efa0 69 6e 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
3efc0 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 6c y</span>.expect(mem.eql(<span.cl
3efe0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 68 65 6c 6c 6f 5f ass="tok-type">u8</span>,.hello_
3f000 77 6f 72 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 world,.<span.class="tok-str">&qu
3f020 6f 74 3b 68 65 6c 6c 6f 20 e4 b8 96 e7 95 8c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c ot;hello.......&quot;</span>));<
3f040 2f 73 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
3f060 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
3f080 70 61 6e 20 63 6c 61 73 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
3f0a0 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
3f0c0 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 65 72 26 71 75 6f 74 ok-str">&quot;slice.pointer&quot
3f0e0 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
3f100 69 6e 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
3f120 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f r</span>.array:.[<span.class="to
3f140 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">10</span>]<span.class=
3f160 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
3f180 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 3c ss="tok-null">undefined</span>;<
3f1a0 2f 73 70 61 6e 3e 0a 3c 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
3f1c0 70 61 6e 20 63 6c 61 73 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>.
3f1e0 70 74 72 20 3d 20 26 61 6d 70 3b 61 72 72 61 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ptr.=.&amp;array;</span>.<span.c
3f200 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=
3f220 22 6c 69 6e 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
3f240 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 75 73 65 20 73 6c 69 63 69 6e 67 20 73 79 6e 74 ent">//.You.can.use.slicing.synt
3f260 61 78 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 20 70 6f 69 6e 74 65 72 20 69 6e 74 6f 20 61 20 73 ax.to.convert.a.pointer.into.a.s
3f280 6c 69 63 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 lice:</span></span>.<span.class=
3f2a0 22 6c 69 6e 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">
3f2c0 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 3c 73 70 61 6e 20 63 const</span>.slice.=.ptr[<span.c
3f2e0 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
3f300 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 3c n.class="tok-number">5</span>];<
3f320 2f 73 70 61 6e 3e 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 /span>.<span.class="line">....sl
3f340 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f ice[<span.class="tok-number">2</
3f360 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 2d 6e 75 6d 62 65 72 span>].=.<span.class="tok-number
3f380 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 22 ">3</span>;</span>.<span.class="
3f3a0 6c 69 6e 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
3f3c0 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 6c 61 ry</span>.expect(slice[<span.cla
3f3e0 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 20 3d 3d 20 3c 73 70 ss="tok-number">2</span>].==.<sp
3f400 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 3b an.class="tok-number">3</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 20 20 20 20 3c </span>.<span.class="line">....<
3f440 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.
3f460 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 77 65 20 73 6c 69 63 slice.is.mutable.because.we.slic
3f480 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 61 6e 3e 3c 2f 73 70 ed.a.mutable.pointer.</span></sp
3f4a0 61 6e 3e 0a 3c 73 70 61 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
3f4c0 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 72 74 68 65 72 6d .class="tok-comment">//.Furtherm
3f4e0 6f 72 65 2c 20 69 74 20 69 73 20 61 63 74 75 61 6c 6c 79 20 61 20 70 6f 69 6e 74 65 72 20 74 6f ore,.it.is.actually.a.pointer.to
3f500 20 61 6e 20 61 72 72 61 79 2c 20 73 69 6e 63 65 20 74 68 65 20 73 74 61 72 74 3c 2f 73 70 61 6e .an.array,.since.the.start</span
3f520 3e 3c 2f 73 70 61 6e 3e 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">....
3f540 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 6e 64 <span.class="tok-comment">//.and
3f560 20 65 6e 64 20 69 6e 64 65 78 65 73 20 77 65 72 65 20 62 6f 74 68 20 63 6f 6d 70 74 69 6d 65 2d .end.indexes.were.both.comptime-
3f580 6b 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 known.</span></span>.<span.class
3f5a0 3d 22 6c 69 6e 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"
3f5c0 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="
3f5e0 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 63 tok-builtin">@TypeOf</span>(slic
3f600 65 29 20 3d 3d 20 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 e).==.*[<span.class="tok-number"
3f620 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 >5</span>]<span.class="tok-type"
3f640 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 73 73 3d >u8</span>);</span>.<span.class=
3f660 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
3f680 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">
3f6a0 2f 2f 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 73 6c 69 63 65 20 61 20 73 6c 69 63 65 3a 3c 2f //.You.can.also.slice.a.slice:</
3f6c0 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">
3f6e0 20 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</
3f700 73 70 61 6e 3e 20 73 6c 69 63 65 32 20 3d 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 span>.slice2.=.slice[<span.class
3f720 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c ="tok-number">2</span>..<span.cl
3f740 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 ass="tok-number">3</span>];</spa
3f760 6e 3e 0a 3c 73 70 61 6e 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.
3f780 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
3f7a0 28 73 6c 69 63 65 32 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d (slice2.len.==.<span.class="tok-
3f7c0 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.
3f7e0 63 6c 61 73 73 3d 22 6c 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
3f800 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 32 5b 3c k-kw">try</span>.expect(slice2[<
3f820 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>
3f840 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c ].==.<span.class="tok-number">3<
3f860 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
3f880 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
3f8a0 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
3f8c0 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
3f8e0 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
3f900 67 20 74 65 73 74 20 73 6c 69 63 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c g.test.slices.zig</kbd></span>.<
3f920 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 span.class="line">1/2.test.&quot
3f940 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 71 75 6f 74 3b 2e ;using.slices.for.strings&quot;.
3f960 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...OK</span>.<span.class="line">
3f980 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 73 6c 69 63 65 20 70 6f 69 6e 74 65 72 26 71 75 6f 2/2.test.&quot;slice.pointer&quo
3f9a0 74 3b 2e 2e 2e 20 4f 4b 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;....OK</span>.<span.class="lin
3f9c0 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f e">All.2.tests.passed.</span>.</
3f9e0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 samp></pre></figure>.......<p>Se
3fa00 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f e.also:</p><ul>.<li><a.href="#Po
3fa20 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 inters">Pointers</a></li>.<li><a
3fa40 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 .href="#for">for</a></li>.<li><a
3fa60 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a .href="#Arrays">Arrays</a></li>.
3fa80 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 65 6e 74 69 6e 65 6c 2d 54 </ul>.........<h3.id="Sentinel-T
3faa0 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d erminated-Slices"><a.href="#toc-
3fac0 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
3fae0 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 53 6c 69 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c inel-Terminated.Slices</a>.<a.cl
3fb00 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e ass="hdr".href="#Sentinel-Termin
3fb20 61 74 65 64 2d 53 6c 69 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ated-Slices">..</a></h3>........
3fb40 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 3c 73 70 61 6e <p>.......The.syntax.<code><span
3fb60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 3a 78 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 .class="line">[:x]T</span></code
3fb80 3e 20 69 73 20 61 20 73 6c 69 63 65 20 77 68 69 63 68 20 68 61 73 20 61 20 72 75 6e 74 69 6d 65 >.is.a.slice.which.has.a.runtime
3fba0 20 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 61 6e 64 20 61 6c 73 6f 20 67 75 61 .known.length.......and.also.gua
3fbc0 72 61 6e 74 65 65 73 20 61 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 20 61 74 20 74 68 65 20 rantees.a.sentinel.value.at.the.
3fbe0 65 6c 65 6d 65 6e 74 20 69 6e 64 65 78 65 64 20 62 79 20 74 68 65 20 6c 65 6e 67 74 68 2e 20 54 element.indexed.by.the.length..T
3fc00 68 65 20 74 79 70 65 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 20 67 75 61 72 61 6e 74 65 65 he.type.does.not.......guarantee
3fc20 20 74 68 61 74 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 73 65 6e 74 69 6e 65 6c 20 65 6c 65 6d .that.there.are.no.sentinel.elem
3fc40 65 6e 74 73 20 62 65 66 6f 72 65 20 74 68 61 74 2e 20 53 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 ents.before.that..Sentinel-termi
3fc60 6e 61 74 65 64 20 73 6c 69 63 65 73 20 61 6c 6c 6f 77 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 20 nated.slices.allow.element......
3fc80 20 61 63 63 65 73 73 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 .access.to.the.<code><span.class
3fca0 3d 22 6c 69 6e 65 22 3e 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 64 65 78 2e ="line">len</span></code>.index.
3fcc0 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
3fce0 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
3fd00 73 3d 22 66 69 6c 65 22 3e 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 65 2e 7a s="file">null_terminated_slice.z
3fd20 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
3fd40 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=
3fd60 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
3fd80 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
3fda0 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
3fdc0 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
3fde0 20 63 6c 61 73 73 3d 22 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
3fe00 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
3fe20 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=
3fe40 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
3fe60 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
3fe80 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
3fea0 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ull.terminated.slice&quot;</span
3fec0 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">..
3fee0 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
3ff00 61 6e 3e 20 73 6c 69 63 65 3a 20 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 an>.slice:.[:<span.class="tok-nu
3ff20 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 2d mber">0</span>]<span.class="tok-
3ff40 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
3ff60 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">u8</span>.=.<span.class=
3ff80 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 "tok-str">&quot;hello&quot;</spa
3ffa0 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"></
3ffc0 73 70 61 6e 3e 0a 3c 73 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
3ffe0 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
40000 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 3d 22 74 6f ect(slice.len.==.<span.class="to
40020 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 0a 3c 73 70 61 k-number">5</span>);</span>.<spa
40040 6e 20 63 6c 61 73 73 3d 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="
40060 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 63 65 5b tok-kw">try</span>.expect(slice[
40080 3c 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
400a0 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 >].==.<span.class="tok-number">0
400c0 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
400e0 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
40100 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
40120 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><
40140 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a samp><span.class="line">$.<kbd>z
40160 69 67 20 74 65 73 74 20 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 65 2e 7a 69 ig.test.null_terminated_slice.zi
40180 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
401a0 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 ">1/1.test.&quot;null.terminated
401c0 20 73 6c 69 63 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .slice&quot;....OK</span>.<span.
401e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e class="line">All.1.tests.passed.
40200 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
40220 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 65 72 6d 69 6e 61 74 .....<p>.......Sentinel-terminat
40240 65 64 20 73 6c 69 63 65 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 63 72 65 61 74 65 64 20 75 73 ed.slices.can.also.be.created.us
40260 69 6e 67 20 61 20 76 61 72 69 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 6c 69 63 65 20 73 79 6e ing.a.variation.of.the.slice.syn
40280 74 61 78 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 tax.......<code><span.class="lin
402a0 65 22 3e 64 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 e">data[start..end.:x]</span></c
402c0 6f 64 65 3e 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 ode>,.where.<code><span.class="l
402e0 69 6e 65 22 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 ine">data</span></code>.is.a.man
40300 79 2d 69 74 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 y-item.pointer,.......array.or.s
40320 6c 69 63 65 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 lice.and.<code><span.class="line
40340 22 3e 78 3c 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 ">x</span></code>.is.the.sentine
40360 6c 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 66 69 67 75 72 l.value........</p>.......<figur
40380 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
403a0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 ite.class="file">null_terminated
403c0 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 3e _slicing.zig</cite></figcaption>
403e0 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
40400 70 61 6e 20 63 6c 61 73 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>.
40420 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">
40440 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-
40460 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
40480 70 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
404a0 61 73 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
404c0 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
404e0 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
40500 6c 61 73 73 3d 22 6c 69 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"
40520 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
40540 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 67 r">&quot;null.terminated.slicing
40560 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
40580 73 73 3d 22 6c 69 6e 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
405a0 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 w">var</span>.array.=.[_]<span.c
405c0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e lass="tok-type">u8</span>{.<span
405e0 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
40600 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>,
40620 20 3c 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
40640 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f n>,.<span.class="tok-number">0</
40660 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">
40680 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 3</span>,.<span.class="tok-numbe
406a0 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r">2</span>,.<span.class="tok-nu
406c0 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b mber">1</span>,.<span.class="tok
406e0 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
40700 6e 20 63 6c 61 73 73 3d 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="
40720 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 74 tok-kw">var</span>.runtime_lengt
40740 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 3c h:.<span.class="tok-type">usize<
40760 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
40780 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 22 ">3</span>;</span>.<span.class="
407a0 6c 69 6e 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
407c0 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 20 onst</span>.slice.=.array[<span.
407e0 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 6e class="tok-number">0</span>..run
40800 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 75 time_length.:<span.class="tok-nu
40820 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 6c mber">0</span>];</span>.<span.cl
40840 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="
40860 6c 69 6e 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
40880 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
408a0 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 29 k-builtin">@TypeOf</span>(slice)
408c0 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 30 .==.[:<span.class="tok-number">0
408e0 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
40900 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
40920 69 6e 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
40940 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 70 y</span>.expect(slice.len.==.<sp
40960 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 3b an.class="tok-number">3</span>);
40980 3c 2f 73 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
409a0 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
409c0 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
409e0 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 3c 73 70 61 hell</figcaption><pre><samp><spa
40a00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 6e n.class="line">$.<kbd>zig.test.n
40a20 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e ull_terminated_slicing.zig</kbd>
40a40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 </span>.<span.class="line">1/1.t
40a60 65 73 74 20 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 est.&quot;null.terminated.slicin
40a80 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 g&quot;....OK</span>.<span.class
40aa0 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 ="line">All.1.tests.passed.</spa
40ac0 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>.......
40ae0 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 6c <p>.......Sentinel-terminated.sl
40b00 69 63 69 6e 67 20 61 73 73 65 72 74 73 20 74 68 61 74 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 69 icing.asserts.that.the.element.i
40b20 6e 20 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 62 n.the.sentinel.position.of.the.b
40b40 61 63 6b 69 6e 67 20 64 61 74 61 20 69 73 0a 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20 74 68 acking.data.is.......actually.th
40b60 65 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 2e 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 e.sentinel.value..If.this.is.not
40b80 20 74 68 65 20 63 61 73 65 2c 20 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 .the.case,.safety-protected.<a.h
40ba0 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 ref="#Undefined-Behavior">Undefi
40bc0 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 72 65 73 75 6c 74 73 2e 0a 20 20 20 20 20 20 ned.Behavior</a>.results........
40be0 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
40c00 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
40c20 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 ">test.zig</cite></figcaption><p
40c40 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
40c60 6e 20 63 6c 61 73 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
40c80 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
40ca0 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
40cc0 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
40ce0 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
40d00 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.=
40d20 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
40d40 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
40d60 73 73 3d 22 6c 69 6e 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
40d80 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"
40da0 3e 26 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 >&quot;sentinel.mismatch&quot;</
40dc0 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
40de0 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</
40e00 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 74 6f span>.array.=.[_]<span.class="to
40e20 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 3d 22 k-type">u8</span>{.<span.class="
40e40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 tok-number">3</span>,.<span.clas
40e60 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
40e80 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 70 61 lass="tok-number">1</span>,.<spa
40ea0 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 7d 3b n.class="tok-number">0</span>.};
40ec0 3c 2f 73 70 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
40ee0 6e 3e 0a 3c 73 70 61 6e 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.
40f00 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 72 65 61 74 69 6e 67 20 class="tok-comment">//.Creating.
40f20 61 20 73 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 20 66 72 6f 6d a.sentinel-terminated.slice.from
40f40 20 74 68 65 20 61 72 72 61 79 20 77 69 74 68 20 61 20 6c 65 6e 67 74 68 20 6f 66 20 32 3c 2f 73 .the.array.with.a.length.of.2</s
40f60 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">.
40f80 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">//.
40fa0 77 69 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 will.result.in.the.value.`1`.occ
40fc0 75 70 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 upying.the.sentinel.element.posi
40fe0 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=
41000 22 6c 69 6e 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
41020 65 6e 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 ent">//.This.does.not.match.the.
41040 69 6e 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 indicated.sentinel.value.of.`0`.
41060 61 6e 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 and.will.lead</span></span>.<spa
41080 6e 20 63 6c 61 73 73 3d 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="
410a0 74 6f 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 tok-comment">//.to.a.runtime.pan
410c0 69 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 ic.</span></span>.<span.class="l
410e0 69 6e 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
41100 72 3c 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 r</span>.runtime_length:.<span.c
41120 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>.=.<
41140 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>
41160 3b 3c 2f 73 70 61 6e 3e 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">....
41180 3c 73 70 61 6e 20 63 6c 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
411a0 3e 20 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 >.slice.=.array[<span.class="tok
411c0 2d 6e 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 -number">0</span>..runtime_lengt
411e0 68 20 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 h.:<span.class="tok-number">0</s
41200 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 65 22 pan>];</span>.<span.class="line"
41220 3e 3c 2f 73 70 61 6e 3e 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">....
41240 5f 20 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 _.=.slice;</span>.<span.class="l
41260 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
41280 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
412a0 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>
412c0 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e <samp><span.class="line">$.<kbd>
412e0 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c zig.test.test.zig</kbd></span>.<
41300 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 span.class="line">1/1.test.&quot
41320 3b 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 68 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 ;sentinel.mismatch&quot;....thre
41340 61 64 20 31 34 32 36 33 37 34 20 70 61 6e 69 63 3a 20 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 ad.1426374.panic:.sentinel.misma
41360 74 63 68 3c 2f 73 70 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 tch</span>.<span.class="line"><s
41380 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
413a0 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 32 3a 32 34 3c 2f 73 zig/docgen_tmp/test.zig:12:24</s
413c0 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 38 63 pan>:.<span.class="t2_0">0x2078c
413e0 61 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 a.in.test.&quot;sentinel.mismatc
41400 68 26 71 75 6f 74 3b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 h&quot;.(test)</span></span>.<sp
41420 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 73 6c 69 63 65 20 an.class="line">....const.slice.
41440 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 20 3a 30 5d 3b 3c 2f =.array[0..runtime_length.:0];</
41460 73 70 61 6e 3e 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">.......
41480 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 33 32 ................<span.class="t32
414a0 5f 31 22 3e 5e 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 _1">^</span></span>.<span.class=
414c0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f "line"><span.class="t1_0">/home/
414e0 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 andy/tmp/zig/lib/std/special/tes
41500 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 38 30 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e t_runner.zig:80:28</span>:.<span
41520 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 66 31 35 33 20 69 6e 20 73 74 64 2e 73 70 .class="t2_0">0x22f153.in.std.sp
41540 65 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ecial.main.(test)</span></span>.
41560 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 20 65 6c 73 <span.class="line">........}.els
41580 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e.test_fn.func();</span>.<span.c
415a0 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 20 lass="line">....................
415c0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 .......<span.class="t32_1">^</sp
415e0 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
41600 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
41620 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 zig/lib/std/start.zig:551:22</sp
41640 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 38 34 63 63 an>:.<span.class="t2_0">0x2284cc
41660 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 .in.std.start.callMain.(test)</s
41680 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">.
416a0 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ...........root.main();</span>.<
416c0 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">..............
416e0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 .......<span.class="t32_1">^</sp
41700 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
41720 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
41740 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 zig/lib/std/start.zig:495:12</sp
41760 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 31 30 65 an>:.<span.class="t2_0">0x20910e
41780 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 .in.std.start.callMainWithArgs.(
417a0 74 65 73 74 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 73 73 3d test)</span></span>.<span.class=
417c0 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 "line">....return.@call(.{..modi
417e0 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 fier.=..always_inline.},.callMai
41800 6e 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 6c 69 6e n,..{});</span>.<span.class="lin
41820 65 22 3e 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 33 32 5f 31 e">...........<span.class="t32_1
41840 22 3e 5e 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 ">^</span></span>.<span.class="l
41860 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e ine"><span.class="t1_0">/home/an
41880 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 dy/tmp/zig/lib/std/start.zig:409
418a0 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 :17</span>:.<span.class="t2_0">0
418c0 78 32 30 38 31 61 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 x2081a6.in.std.start.posixCallMa
418e0 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c inAndExit.(test)</span></span>.<
41900 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 6f 73 2e 65 78 69 span.class="line">....std.os.exi
41920 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 t(@call(.{..modifier.=..always_i
41940 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 nline.},.callMainWithArgs,..{.ar
41960 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e gc,.argv,.envp.}));</span>.<span
41980 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 73 .class="line">................<s
419a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e pan.class="t32_1">^</span></span
419c0 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
419e0 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 ="t1_0">/home/andy/tmp/zig/lib/s
41a00 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e td/start.zig:322:5</span>:.<span
41a20 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 66 62 32 20 69 6e 20 73 74 64 2e 73 74 .class="t2_0">0x207fb2.in.std.st
41a40 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a art._start.(test)</span></span>.
41a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 <span.class="line">....@call(.{.
41a80 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 .modifier.=..never_inline.},.pos
41aa0 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a ixCallMainAndExit,..{});</span>.
41ac0 3c 73 70 61 6e 20 63 6c 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
41ae0 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="t32_1">^</span></span>.<span
41b00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 .class="line">error:.the.followi
41b20 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a ng.test.command.crashed:</span>.
41b40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 <span.class="line">docgen_tmp/zi
41b60 67 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 36 34 33 64 30 38 66 31 61 63 62 62 31 33 38 36 g-cache/o/e62d5b643d08f1acbb1386
41b80 64 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a db92eb0f23/test./home/andy/tmp/z
41ba0 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 ig/build-release/zig</span>.</sa
41bc0 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.
41be0 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 65 6e 74 also:</p><ul>.<li><a.href="#Sent
41c00 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 74 69 6e inel-Terminated-Pointers">Sentin
41c20 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 69 3e 0a el-Terminated.Pointers</a></li>.
41c40 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
41c60 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
41c80 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>.............
41ca0 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 74 72 75 63 74 22 3e 3c 61 20 68 72 65 ..........<h2.id="struct"><a.hre
41cc0 66 3d 22 23 74 6f 63 2d 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 3c 61 20 63 6c f="#toc-struct">struct</a>.<a.cl
41ce0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e c2 a7 3c 2f 61 3e 3c ass="hdr".href="#struct">..</a><
41d00 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.
41d20 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
41d40 65 22 3e 73 74 72 75 63 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f e">structs.zig</cite></figcaptio
41d60 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">
41d80 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
41da0 6c 61 72 65 20 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 lare.a.struct.</span></span>.<sp
41dc0 61 6e 20 63 6c 61 73 73 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
41de0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 5a 69 67 20 67 69 76 65 73 20 6e 6f 20 67 75 61 72 61 6e -comment">//.Zig.gives.no.guaran
41e00 74 65 65 73 20 61 62 6f 75 74 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 66 69 65 6c 64 73 20 61 tees.about.the.order.of.fields.a
41e20 6e 64 20 74 68 65 20 73 69 7a 65 20 6f 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 nd.the.size.of</span></span>.<sp
41e40 61 6e 20 63 6c 61 73 73 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
41e60 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 73 74 72 75 63 74 20 62 75 74 20 74 68 65 20 -comment">//.the.struct.but.the.
41e80 66 69 65 6c 64 73 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 41 42 49 2d fields.are.guaranteed.to.be.ABI-
41ea0 61 6c 69 67 6e 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 aligned.</span></span>.<span.cla
41ec0 73 73 3d 22 6c 69 6e 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
41ee0 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 61 73 73 3d onst</span>.Point.=.<span.class=
41f00 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>.
41f20 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 70 61 6e 20 <span.class="line">....x:.<span.
41f40 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 73 70 class="tok-type">f32</span>,</sp
41f60 61 6e 3e 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 an>.<span.class="line">....y:.<s
41f80 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>,
41fa0 3c 2f 73 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
41fc0 70 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>.
41fe0 3c 73 70 61 6e 20 63 6c 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="
42000 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4d 61 79 62 65 20 77 65 20 77 61 6e 74 20 74 6f tok-comment">//.Maybe.we.want.to
42020 20 70 61 73 73 20 69 74 20 74 6f 20 4f 70 65 6e 47 4c 20 73 6f 20 77 65 20 77 61 6e 74 20 74 6f .pass.it.to.OpenGL.so.we.want.to
42040 20 62 65 20 70 61 72 74 69 63 75 6c 61 72 20 61 62 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 .be.particular.about</span></spa
42060 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
42080 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 6f 77 20 74 68 65 20 62 79 74 65 73 s="tok-comment">//.how.the.bytes
420a0 20 61 72 65 20 61 72 72 61 6e 67 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .are.arranged.</span></span>.<sp
420c0 61 6e 20 63 6c 61 73 73 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
420e0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 32 20 3d 20 3c 73 70 61 6e -kw">const</span>.Point2.=.<span
42100 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 20 3c 73 .class="tok-kw">packed</span>.<s
42120 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>
42140 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">...
42160 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 66 33 32 3c 2f .x:.<span.class="tok-type">f32</
42180 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"
421a0 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 74 79 70 65 22 3e 66 >....y:.<span.class="tok-type">f
421c0 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 6c 32</span>,</span>.<span.class="l
421e0 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
42200 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 2f 73 "></span>.<span.class="line"></s
42220 70 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
42240 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 6e 20 ass="tok-comment">//.Declare.an.
42260 69 6e 73 74 61 6e 63 65 20 6f 66 20 61 20 73 74 72 75 63 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 instance.of.a.struct.</span></sp
42280 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
422a0 73 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 50 6f 69 ss="tok-kw">const</span>.p.=.Poi
422c0 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 65 22 3e 20 nt.{</span>.<span.class="line">.
422e0 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ....x.=.<span.class="tok-number"
42300 3e 30 2e 31 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 >0.12</span>,</span>.<span.class
42320 3d 22 6c 69 6e 65 22 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 ="line">.....y.=.<span.class="to
42340 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 33 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">0.34</span>,</span>.<s
42360 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
42380 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
423a0 73 3d 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
423c0 74 22 3e 2f 2f 20 4d 61 79 62 65 20 77 65 27 72 65 20 6e 6f 74 20 72 65 61 64 79 20 74 6f 20 66 t">//.Maybe.we're.not.ready.to.f
423e0 69 6c 6c 20 6f 75 74 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 ill.out.some.of.the.fields.</spa
42400 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
42420 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 32 20 an.class="tok-kw">var</span>.p2.
42440 3d 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 =.Point.{</span>.<span.class="li
42460 6e 65 22 3e 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ne">.....x.=.<span.class="tok-nu
42480 6d 62 65 72 22 3e 30 2e 31 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 mber">0.12</span>,</span>.<span.
424a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 class="line">.....y.=.<span.clas
424c0 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 2c 3c 2f s="tok-null">undefined</span>,</
424e0 73 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
42500 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
42520 70 61 6e 20 63 6c 61 73 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
42540 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 75 63 74 73 20 63 61 6e 20 68 61 76 65 20 6d k-comment">//.Structs.can.have.m
42560 65 74 68 6f 64 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 ethods</span></span>.<span.class
42580 3d 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
425a0 22 3e 2f 2f 20 53 74 72 75 63 74 20 6d 65 74 68 6f 64 73 20 61 72 65 20 6e 6f 74 20 73 70 65 63 ">//.Struct.methods.are.not.spec
425c0 69 61 6c 2c 20 74 68 65 79 20 61 72 65 20 6f 6e 6c 79 20 6e 61 6d 65 73 70 61 63 65 64 3c 2f 73 ial,.they.are.only.namespaced</s
425e0 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"><
42600 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 66 75 6e 63 span.class="tok-comment">//.func
42620 74 69 6f 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20 77 69 74 68 20 64 6f 74 tions.that.you.can.call.with.dot
42640 20 73 79 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 .syntax.</span></span>.<span.cla
42660 73 73 3d 22 6c 69 6e 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
42680 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 65 63 33 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 onst</span>.Vec3.=.<span.class="
426a0 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>.<
426c0 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
426e0 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 73 70 61 lass="tok-type">f32</span>,</spa
42700 6e 3e 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
42720 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 3c an.class="tok-type">f32</span>,<
42740 2f 73 70 61 6e 3e 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 3a /span>.<span.class="line">....z:
42760 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
42780 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 2f n>,</span>.<span.class="line"></
427a0 73 70 61 6e 3e 0a 3c 73 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
427c0 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
427e0 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
42800 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 6e 69 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 n.class="tok-fn">init</span>(x:.
42820 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
42840 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 >,.y:.<span.class="tok-type">f32
42860 3c 2f 73 70 61 6e 3e 2c 20 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 </span>,.z:.<span.class="tok-typ
42880 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 56 65 63 33 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 e">f32</span>).Vec3.{</span>.<sp
428a0 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
428c0 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 56 65 63 33 20 ass="tok-kw">return</span>.Vec3.
428e0 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">....
42900 20 20 20 20 20 20 20 20 2e 78 20 3d 20 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .........x.=.x,</span>.<span.cla
42920 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 79 20 3d 20 79 2c 3c 2f 73 ss="line">.............y.=.y,</s
42940 70 61 6e 3e 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">........
42960 20 20 20 20 2e 7a 20 3d 20 7a 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .....z.=.z,</span>.<span.class="
42980 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 73 70 61 6e 20 63 6c line">........};</span>.<span.cl
429a0 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
429c0 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="
429e0 6c 69 6e 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 70 line">....<span.class="tok-kw">p
42a00 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ub</span>.<span.class="tok-kw">f
42a20 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
42a40 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 56 65 63 33 2c 20 6f 74 68 65 72 3a 20 56 65 63 33 t</span>(self:.Vec3,.other:.Vec3
42a60 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 ).<span.class="tok-type">f32</sp
42a80 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">
42aa0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 ........<span.class="tok-kw">ret
42ac0 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 78 20 2a 20 6f 74 68 65 72 2e 78 20 2b 20 73 65 urn</span>.self.x.*.other.x.+.se
42ae0 6c 66 2e 79 20 2a 20 6f 74 68 65 72 2e 79 20 2b 20 73 65 6c 66 2e 7a 20 2a 20 6f 74 68 65 72 2e lf.y.*.other.y.+.self.z.*.other.
42b00 7a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 z;</span>.<span.class="line">...
42b20 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 3b 3c .}</span>.<span.class="line">};<
42b40 2f 73 70 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
42b60 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
42b80 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.=.
42ba0 3c 73 70 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
42bc0 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">&
42be0 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
42c00 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"
42c20 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
42c40 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f >.<span.class="tok-str">&quot;do
42c60 74 20 70 72 6f 64 75 63 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a t.product&quot;</span>.{</span>.
42c80 3c 73 70 61 6e 20 63 6c 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
42ca0 73 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 31 20 3d 20 56 65 ss="tok-kw">const</span>.v1.=.Ve
42cc0 63 33 2e 69 6e 69 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 c3.init(<span.class="tok-number"
42ce0 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >1.0</span>,.<span.class="tok-nu
42d00 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mber">0.0</span>,.<span.class="t
42d20 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 3e 0a 3c ok-number">0.0</span>);</span>.<
42d40 73 70 61 6e 20 63 6c 61 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
42d60 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 32 20 3d 20 56 65 63 s="tok-kw">const</span>.v2.=.Vec
42d80 33 2e 69 6e 69 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 3.init(<span.class="tok-number">
42da0 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 6d 0.0</span>,.<span.class="tok-num
42dc0 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ber">1.0</span>,.<span.class="to
42de0 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 3e 0a 3c 73 k-number">0.0</span>);</span>.<s
42e00 70 61 6e 20 63 6c 61 73 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
42e20 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 31 2e 64 ="tok-kw">try</span>.expect(v1.d
42e40 6f 74 28 76 32 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 ot(v2).==.<span.class="tok-numbe
42e60 72 22 3e 30 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 r">0.0</span>);</span>.<span.cla
42e80 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
42ea0 69 6e 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
42ec0 74 22 3e 2f 2f 20 4f 74 68 65 72 20 74 68 61 6e 20 62 65 69 6e 67 20 61 76 61 69 6c 61 62 6c 65 t">//.Other.than.being.available
42ee0 20 74 6f 20 63 61 6c 6c 20 77 69 74 68 20 64 6f 74 20 73 79 6e 74 61 78 2c 20 73 74 72 75 63 74 .to.call.with.dot.syntax,.struct
42f00 20 6d 65 74 68 6f 64 73 20 61 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .methods.are</span></span>.<span
42f20 20 63 6c 61 73 73 3d 22 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
42f40 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 74 20 73 70 65 63 69 61 6c 2e 20 59 6f 75 20 ok-comment">//.not.special..You.
42f60 63 61 6e 20 72 65 66 65 72 65 6e 63 65 20 74 68 65 6d 20 61 73 20 61 6e 79 20 6f 74 68 65 72 20 can.reference.them.as.any.other.
42f80 64 65 63 6c 61 72 61 74 69 6f 6e 20 69 6e 73 69 64 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e declaration.inside</span></span>
42fa0 0a 3c 73 70 61 6e 20 63 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
42fc0 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 73 74 72 75 63 74 3a ass="tok-comment">//.the.struct:
42fe0 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
43000 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</
43020 73 70 61 6e 3e 20 65 78 70 65 63 74 28 56 65 63 33 2e 64 6f 74 28 76 31 2c 20 76 32 29 20 3d 3d span>.expect(Vec3.dot(v1,.v2).==
43040 20 3c 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
43060 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"
43080 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
430a0 70 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
430c0 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 73 20 63 61 6e ass="tok-comment">//.Structs.can
430e0 20 68 61 76 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .have.declarations.</span></span
43100 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
43120 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 75 63 74 73 20 63 61 6e 20 68 61 ="tok-comment">//.Structs.can.ha
43140 76 65 20 30 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 70 61 6e ve.0.fields.</span></span>.<span
43160 20 63 6c 61 73 73 3d 22 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
43180 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 6d 70 74 79 20 3d 20 3c 73 70 61 6e 20 63 6c w">const</span>.Empty.=.<span.cl
431a0 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
431c0 61 6e 3e 0a 3c 73 70 61 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
431e0 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
43200 20 63 6c 61 73 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 49 20 .class="tok-kw">const</span>.PI.
43220 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c =.<span.class="tok-number">3.14<
43240 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
43260 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"><
43280 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>.
432a0 3c 73 70 61 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 72 75 <span.class="tok-str">&quot;stru
432c0 63 74 20 6e 61 6d 65 73 70 61 63 65 64 20 76 61 72 69 61 62 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 ct.namespaced.variable&quot;</sp
432e0 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">
43300 20 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
43320 61 6e 3e 20 65 78 70 65 63 74 28 45 6d 70 74 79 2e 50 49 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 an>.expect(Empty.PI.==.<span.cla
43340 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 29 3b 3c 2f 73 ss="tok-number">3.14</span>);</s
43360 70 61 6e 3e 0a 3c 73 70 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
43380 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
433a0 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 73 69 ct(<span.class="tok-builtin">@si
433c0 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 45 6d 70 74 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 zeOf</span>(Empty).==.<span.clas
433e0 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>
43400 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
43420 6e 20 63 6c 61 73 73 3d 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="
43440 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 79 6f 75 20 63 61 6e 20 73 74 69 6c 6c 20 69 6e tok-comment">//.you.can.still.in
43460 73 74 61 6e 74 69 61 74 65 20 61 6e 20 65 6d 70 74 79 20 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e stantiate.an.empty.struct</span>
43480 3c 2f 73 70 61 6e 3e 0a 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">....<
434a0 73 70 61 6e 20 63 6c 61 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>
434c0 20 64 6f 65 73 5f 6e 6f 74 68 69 6e 67 20 3d 20 45 6d 70 74 79 20 7b 7d 3b 3c 2f 73 70 61 6e 3e .does_nothing.=.Empty.{};</span>
434e0 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
43500 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 64 6f 65 73 5f 6e 6f 74 68 n.class="line">...._.=.does_noth
43520 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 65 22 3e 7d ing;</span>.<span.class="line">}
43540 3c 2f 73 70 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
43560 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
43580 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 74 72 75 63 74 20 66 69 65 6c 64 20 s="tok-comment">//.struct.field.
435a0 6f 72 64 65 72 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 order.is.determined.by.the.compi
435c0 6c 65 72 20 66 6f 72 20 6f 70 74 69 6d 61 6c 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 3c 2f 73 70 ler.for.optimal.performance.</sp
435e0 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
43600 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 6f 77 65 76 pan.class="tok-comment">//.howev
43620 65 72 2c 20 79 6f 75 20 63 61 6e 20 73 74 69 6c 6c 20 63 61 6c 63 75 6c 61 74 65 20 61 20 73 74 er,.you.can.still.calculate.a.st
43640 72 75 63 74 20 62 61 73 65 20 70 6f 69 6e 74 65 72 20 67 69 76 65 6e 20 61 20 66 69 65 6c 64 20 ruct.base.pointer.given.a.field.
43660 70 6f 69 6e 74 65 72 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 pointer:</span></span>.<span.cla
43680 73 73 3d 22 6c 69 6e 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
436a0 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 73 65 n</span>.<span.class="tok-fn">se
436c0 74 59 42 61 73 65 64 4f 6e 58 3c 2f 73 70 61 6e 3e 28 78 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 tYBasedOnX</span>(x:.*<span.clas
436e0 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 79 3a 20 3c 73 70 61 s="tok-type">f32</span>,.y:.<spa
43700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 3c n.class="tok-type">f32</span>).<
43720 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
43740 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">..
43760 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
43780 61 6e 3e 20 70 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 an>.point.=.<span.class="tok-bui
437a0 6c 74 69 6e 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 73 70 61 6e 3e 28 50 6f 69 ltin">@fieldParentPtr</span>(Poi
437c0 6e 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b nt,.<span.class="tok-str">&quot;
437e0 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 78 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e x&quot;</span>,.x);</span>.<span
43800 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 6f 69 6e 74 2e 79 20 3d 20 79 3b 3c 2f .class="line">....point.y.=.y;</
43820 73 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
43840 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
43860 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
43880 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 65 6c 64 20 70 61 72 65 6e 74 20 70 s="tok-str">&quot;field.parent.p
438a0 6f 69 6e 74 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 ointer&quot;</span>.{</span>.<sp
438c0 61 6e 20 63 6c 61 73 73 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=
438e0 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 6f 69 6e 74 20 3d 20 50 6f 69 6e "tok-kw">var</span>.point.=.Poin
43900 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 65 22 3e 20 20 t.{</span>.<span.class="line">..
43920 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 6e 75 6d 62 .......x.=.<span.class="tok-numb
43940 65 72 22 3e 30 2e 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 20 er">0.1234</span>,</span>.<span.
43960 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 class="line">.........y.=.<span.
43980 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 35 36 37 38 3c 2f 73 70 61 6e 3e class="tok-number">0.5678</span>
439a0 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">....
439c0 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">...
439e0 20 73 65 74 59 42 61 73 65 64 4f 6e 58 28 26 61 6d 70 3b 70 6f 69 6e 74 2e 78 2c 20 3c 73 70 61 .setYBasedOnX(&amp;point.x,.<spa
43a00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 39 3c 2f 73 70 61 6e 3e 29 n.class="tok-number">0.9</span>)
43a20 3b 3c 2f 73 70 61 6e 3e 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">....
43a40 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>.
43a60 65 78 70 65 63 74 28 70 6f 69 6e 74 2e 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 expect(point.y.==.<span.class="t
43a80 6f 6b 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 ok-number">0.9</span>);</span>.<
43aa0 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
43ac0 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
43ae0 73 3d 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
43b00 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 72 65 74 75 72 6e 20 61 20 73 74 72 75 63 74 20 66 72 t">//.You.can.return.a.struct.fr
43b20 6f 6d 20 61 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 69 73 20 69 73 20 68 6f 77 20 77 65 20 64 6f om.a.function..This.is.how.we.do
43b40 20 67 65 6e 65 72 69 63 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .generics</span></span>.<span.cl
43b60 61 73 73 3d 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
43b80 65 6e 74 22 3e 2f 2f 20 69 6e 20 5a 69 67 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ent">//.in.Zig:</span></span>.<s
43ba0 70 61 6e 20 63 6c 61 73 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
43bc0 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
43be0 2d 66 6e 22 3e 4c 69 6e 6b 65 64 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 -fn">LinkedList</span>(<span.cla
43c00 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:.<
43c20 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
43c40 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f >).<span.class="tok-type">type</
43c60 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
43c80 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
43ca0 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 73 74 n</span>.<span.class="tok-kw">st
43cc0 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
43ce0 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
43d00 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
43d20 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 63 -kw">const</span>.Node.=.<span.c
43d40 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 73 lass="tok-kw">struct</span>.{</s
43d60 70 61 6e 3e 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">........
43d80 20 20 20 20 70 72 65 76 3a 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ....prev:.?*Node,</span>.<span.c
43da0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 3a 20 3f 2a lass="line">............next:.?*
43dc0 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">
43de0 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 3a 20 54 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ............data:.T,</span>.<spa
43e00 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 6e 3e n.class="line">........};</span>
43e20 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
43e40 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 72 73 74 3a 20 3f 2a n.class="line">........first:.?*
43e60 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">
43e80 20 20 20 20 20 20 20 20 6c 61 73 74 3a 20 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ........last:..?*Node,</span>.<s
43ea0 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 20 20 20 pan.class="line">........len:...
43ec0 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
43ee0 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">.
43f00 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">
43f20 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
43f40 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
43f60 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
43f80 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6c 69 6e 6b 65 64 20 6c 69 73 74 26 ass="tok-str">&quot;linked.list&
43fa0 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
43fc0 73 3d 22 6c 69 6e 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
43fe0 6d 6d 65 6e 74 22 3e 2f 2f 20 46 75 6e 63 74 69 6f 6e 73 20 63 61 6c 6c 65 64 20 61 74 20 63 6f mment">//.Functions.called.at.co
44000 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 65 20 6d 65 6d 6f 69 7a 65 64 2e 20 54 68 69 73 20 6d 65 mpile-time.are.memoized..This.me
44020 61 6e 73 20 79 6f 75 20 63 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ans.you.can</span></span>.<span.
44040 63 6c 61 73 73 3d 22 6c 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
44060 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 20 74 68 69 73 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 k-comment">//.do.this:</span></s
44080 70 61 6e 3e 0a 3c 73 70 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
440a0 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
440c0 63 74 28 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ct(LinkedList(<span.class="tok-t
440e0 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c ype">i32</span>).==.LinkedList(<
44100 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>
44120 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"></
44140 73 70 61 6e 3e 0a 3c 73 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
44160 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
44180 74 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 22 74 6f 6b 2d t.=.LinkedList(<span.class="tok-
441a0 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 3c 73 70 61 6e type">i32</span>).{</span>.<span
441c0 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 74 20 3d 20 3c .class="line">.........first.=.<
441e0 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
44200 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">...
44220 20 20 20 20 20 2e 6c 61 73 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ......last.=.<span.class="tok-nu
44240 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 6c ll">null</span>,</span>.<span.cl
44260 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 6e 20 ass="line">.........len.=.<span.
44280 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 73 70 class="tok-number">0</span>,</sp
442a0 61 6e 3e 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 an>.<span.class="line">....};</s
442c0 70 61 6e 3e 0a 3c 73 70 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
442e0 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
44300 63 74 28 6c 69 73 74 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 ct(list.len.==.<span.class="tok-
44320 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.
44340 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
44360 3d 22 6c 69 6e 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
44380 6d 65 6e 74 22 3e 2f 2f 20 53 69 6e 63 65 20 74 79 70 65 73 20 61 72 65 20 66 69 72 73 74 20 63 ment">//.Since.types.are.first.c
443a0 6c 61 73 73 20 76 61 6c 75 65 73 20 79 6f 75 20 63 61 6e 20 69 6e 73 74 61 6e 74 69 61 74 65 20 lass.values.you.can.instantiate.
443c0 74 68 65 20 74 79 70 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 the.type</span></span>.<span.cla
443e0 73 73 3d 22 6c 69 6e 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
44400 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 69 74 20 74 6f 20 61 20 omment">//.by.assigning.it.to.a.
44420 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 63 6c variable:</span></span>.<span.cl
44440 61 73 73 3d 22 6c 69 6e 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-
44460 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4c 69 73 74 4f 66 49 6e 74 73 20 3d 20 4c 69 kw">const</span>.ListOfInts.=.Li
44480 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e nkedList(<span.class="tok-type">
444a0 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=
444c0 22 6c 69 6e 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">
444e0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 4c 69 73 74 4f 66 49 6e 74 73 20 3d 3d 20 try</span>.expect(ListOfInts.==.
44500 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 LinkedList(<span.class="tok-type
44520 22 3e 69 33 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 ">i32</span>));</span>.<span.cla
44540 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
44560 69 6e 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
44580 72 3c 2f 73 70 61 6e 3e 20 6e 6f 64 65 20 3d 20 4c 69 73 74 4f 66 49 6e 74 73 2e 4e 6f 64 65 20 r</span>.node.=.ListOfInts.Node.
445a0 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">....
445c0 20 20 20 20 2e 70 72 65 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c .....prev.=.<span.class="tok-nul
445e0 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 6c 61 l">null</span>,</span>.<span.cla
44600 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6e 65 78 74 20 3d 20 3c 73 70 61 6e 20 ss="line">.........next.=.<span.
44620 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 2f 73 class="tok-null">null</span>,</s
44640 70 61 6e 3e 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">........
44660 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 6e 75 6d 62 65 72 22 .data.=.<span.class="tok-number"
44680 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 20 63 6c 61 73 73 >1234</span>,</span>.<span.class
446a0 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
446c0 73 3d 22 6c 69 6e 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
446e0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 32 20 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 ">var</span>.list2.=.LinkedList(
44700 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
44720 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">.
44740 20 20 20 20 20 20 20 2e 66 69 72 73 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 2c 3c 2f 73 70 61 6e ........first.=.&amp;node,</span
44760 3e 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 6c 61 >.<span.class="line">.........la
44780 73 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 st.=.&amp;node,</span>.<span.cla
447a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 6e 20 63 ss="line">.........len.=.<span.c
447c0 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 61 lass="tok-number">1</span>,</spa
447e0 6e 3e 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
44800 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>.<
44820 73 70 61 6e 20 63 6c 61 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
44840 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 68 65 6e 20 75 73 69 6e 67 20 61 20 s="tok-comment">//.When.using.a.
44860 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 75 63 74 2c 20 66 69 65 6c 64 73 20 63 61 6e 20 pointer.to.a.struct,.fields.can.
44880 62 65 20 61 63 63 65 73 73 65 64 20 64 69 72 65 63 74 6c 79 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 be.accessed.directly,</span></sp
448a0 61 6e 3e 0a 3c 73 70 61 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
448c0 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 74 68 6f 75 74 20 .class="tok-comment">//.without.
448e0 65 78 70 6c 69 63 69 74 6c 79 20 64 65 72 65 66 65 72 65 6e 63 69 6e 67 20 74 68 65 20 70 6f 69 explicitly.dereferencing.the.poi
44900 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 73 3d nter.</span></span>.<span.class=
44920 22 6c 69 6e 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
44940 65 6e 74 22 3e 2f 2f 20 53 6f 20 79 6f 75 20 63 61 6e 20 64 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ent">//.So.you.can.do</span></sp
44960 61 6e 3e 0a 3c 73 70 61 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
44980 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
449a0 74 28 6c 69 73 74 32 2e 66 69 72 73 74 2e 3f 2e 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c t(list2.first.?.data.==.<span.cl
449c0 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>);</
449e0 73 70 61 6e 3e 0a 3c 73 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
44a00 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 73 74 65 61 an.class="tok-comment">//.instea
44a20 64 20 6f 66 20 74 72 79 20 65 78 70 65 63 74 28 6c 69 73 74 32 2e 66 69 72 73 74 2e 3f 2e 2a 2e d.of.try.expect(list2.first.?.*.
44a40 64 61 74 61 20 3d 3d 20 31 32 33 34 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 data.==.1234);</span></span>.<sp
44a60 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><
44a80 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
44aa0 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
44ac0 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><samp><span.class="li
44ae0 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 74 72 75 63 74 73 2e 7a 69 67 3c ne">$.<kbd>zig.test.structs.zig<
44b00 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
44b20 31 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b 64 6f 74 20 70 72 6f 64 75 63 74 26 71 75 6f 74 3b 1/4.test.&quot;dot.product&quot;
44b40 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....OK</span>.<span.class="line"
44b60 3e 32 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b 73 74 72 75 63 74 20 6e 61 6d 65 73 70 61 63 65 >2/4.test.&quot;struct.namespace
44b80 64 20 76 61 72 69 61 62 6c 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 d.variable&quot;....OK</span>.<s
44ba0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b pan.class="line">3/4.test.&quot;
44bc0 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 2e 2e 2e 20 4f 4b field.parent.pointer&quot;....OK
44be0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 34 20 74 </span>.<span.class="line">4/4.t
44c00 65 73 74 20 26 71 75 6f 74 3b 6c 69 6e 6b 65 64 20 6c 69 73 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f est.&quot;linked.list&quot;....O
44c20 4b 3c 2f 73 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 6c 6c 20 K</span>.<span.class="line">All.
44c40 34 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 4.tests.passed.</span>.</samp></
44c60 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 65 66 pre></figure>........<h3.id="Def
44c80 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ault-Field-Values"><a.href="#toc
44ca0 2d 44 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 -Default-Field-Values">Default.F
44cc0 69 65 6c 64 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 ield.Values</a>.<a.class="hdr".h
44ce0 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e c2 a7 3c 2f ref="#Default-Field-Values">..</
44d00 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 73 74 a></h3>........<p>.......Each.st
44d20 72 75 63 74 20 66 69 65 6c 64 20 6d 61 79 20 68 61 76 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f ruct.field.may.have.an.expressio
44d40 6e 20 69 6e 64 69 63 61 74 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c 74 20 66 69 65 6c 64 20 76 n.indicating.the.default.field.v
44d60 61 6c 75 65 2e 20 53 75 63 68 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 20 20 20 20 20 20 61 72 65 alue..Such.expressions.......are
44d80 20 65 78 65 63 75 74 65 64 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 .executed.at.<a.href="#comptime"
44da0 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 20 61 6e 64 20 61 6c 6c 6f 77 20 74 68 65 20 66 69 65 >comptime</a>,.and.allow.the.fie
44dc0 6c 64 20 74 6f 20 62 65 20 6f 6d 69 74 74 65 64 20 69 6e 20 61 20 73 74 72 75 63 74 20 6c 69 74 ld.to.be.omitted.in.a.struct.lit
44de0 65 72 61 6c 20 65 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 eral.expression:.......</p>.....
44e00 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
44e20 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 65 66 61 75 6c 74 -cap"><cite.class="file">default
44e40 5f 66 69 65 6c 64 5f 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 _field_values.zig</cite></figcap
44e60 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
44e80 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
44ea0 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">
44ec0 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 61 struct</span>.{</span>.<span.cla
44ee0 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 6f ss="line">....a:.<span.class="to
44f00 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
44f20 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e ="tok-number">1234</span>,</span
44f40 3e 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 20 3c 73 70 61 >.<span.class="line">....b:.<spa
44f60 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>,</
44f80 73 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
44fa0 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
44fc0 70 61 6e 20 63 6c 61 73 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
44fe0 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
45000 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 66 61 75 6c 74 20 73 74 72 75 63 74 20 69 6e 69 ok-str">&quot;default.struct.ini
45020 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 69 65 6c 64 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 tialization.fields&quot;</span>.
45040 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">....
45060 3c 73 70 61 6e 20 63 6c 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
45080 3e 20 78 20 3d 20 46 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 >.x.=.Foo{</span>.<span.class="l
450a0 69 6e 65 22 3e 20 20 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 ine">.........b.=.<span.class="t
450c0 6f 6b 2d 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 ok-number">5</span>,</span>.<spa
450e0 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 70 n.class="line">....};</span>.<sp
45100 61 6e 20 63 6c 61 73 73 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=
45120 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 78 2e 61 20 2b 20 78 2e 62 20 21 3d "tok-kw">if</span>.(x.a.+.x.b.!=
45140 20 3c 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 39 3c 2f .<span.class="tok-number">1239</
45160 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
45180 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 69 6c e">........<span.class="tok-buil
451a0 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 70 61 6e 20 tin">@compileError</span>(<span.
451c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 74 27 73 20 65 76 65 6e 20 class="tok-str">&quot;it's.even.
451e0 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 21 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f comptime.known!&quot;</span>);</
45200 73 70 61 6e 3e 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">....}</
45220 73 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
45240 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><
45260 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
45280 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 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
452a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 64 65 66 class="line">$.<kbd>zig.test.def
452c0 61 75 6c 74 5f 66 69 65 6c 64 5f 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 ault_field_values.zig</kbd></spa
452e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 n>.<span.class="line">1/1.test.&
45300 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 74 69 quot;default.struct.initializati
45320 6f 6e 20 66 69 65 6c 64 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 on.fields&quot;....OK</span>.<sp
45340 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 an.class="line">All.1.tests.pass
45360 65 64 2e 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 ed.</span>.</samp></pre></figure
45380 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 2d 73 >...............<h3.id="extern-s
453a0 74 72 75 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 74 65 72 6e 2d 73 74 72 75 truct"><a.href="#toc-extern-stru
453c0 63 74 22 3e 65 78 74 65 72 6e 20 73 74 72 75 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 ct">extern.struct</a>.<a.class="
453e0 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 3e c2 a7 3c 2f 61 hdr".href="#extern-struct">..</a
45400 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ></h3>........<p>An.<code><span.
45420 63 6c 61 73 73 3d 22 6c 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
45440 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">extern</span>.<span.class="tok
45460 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 3c 2f 63 6f 64 65 3e -kw">struct</span></span></code>
45480 20 68 61 73 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 67 75 61 72 61 6e 74 65 65 64 .has.in-memory.layout.guaranteed
454a0 20 74 6f 20 6d 61 74 63 68 20 74 68 65 0a 20 20 20 20 20 20 43 20 41 42 49 20 66 6f 72 20 74 68 .to.match.the.......C.ABI.for.th
454c0 65 20 74 61 72 67 65 74 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 6b 69 6e 64 e.target.</p>.......<p>This.kind
454e0 20 6f 66 20 73 74 72 75 63 74 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 66 .of.struct.should.only.be.used.f
45500 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 74 68 65 20 43 20 41 42 49 2e or.compatibility.with.the.C.ABI.
45520 20 45 76 65 72 79 20 6f 74 68 65 72 0a 20 20 20 20 20 20 75 73 65 20 63 61 73 65 20 73 68 6f 75 .Every.other.......use.case.shou
45540 6c 64 20 62 65 20 73 6f 6c 76 65 64 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b ld.be.solved.with.<a.href="#pack
45560 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 20 6f 72 20 ed-struct">packed.struct</a>.or.
45580 6e 6f 72 6d 61 6c 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 normal.<a.href="#struct">struct<
455a0 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c /a>.</p>.......<p>See.also:</p><
455c0 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e ul>.<li><a.href="#extern-union">
455e0 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 extern.union</a></li>.<li><a.hre
45600 66 3d 22 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 f="#extern-enum">extern.enum</a>
45620 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
45640 64 3d 22 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d d="packed-struct"><a.href="#toc-
45660 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e packed-struct">packed.struct</a>
45680 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 74 .<a.class="hdr".href="#packed-st
456a0 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 0a 20 20 20 ruct">..</a></h3>........<p>....
456c0 20 20 20 55 6e 6c 69 6b 65 20 6e 6f 72 6d 61 6c 20 73 74 72 75 63 74 73 2c 20 3c 63 6f 64 65 3e ...Unlike.normal.structs,.<code>
456e0 3c 73 70 61 6e 20 63 6c 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="
45700 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 63 6f tok-kw">packed</span></span></co
45720 64 65 3e 20 73 74 72 75 63 74 73 20 68 61 76 65 20 67 75 61 72 61 6e 74 65 65 64 20 69 6e 2d 6d de>.structs.have.guaranteed.in-m
45740 65 6d 6f 72 79 20 6c 61 79 6f 75 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c emory.layout:.......</p>.......<
45760 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 69 65 6c 64 73 20 72 65 6d 61 69 6e 20 69 6e ul>.........<li>Fields.remain.in
45780 20 74 68 65 20 6f 72 64 65 72 20 64 65 63 6c 61 72 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 .the.order.declared.</li>.......
457a0 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 62 65 74 77 65 65 ..<li>There.is.no.padding.betwee
457c0 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 3e 5a 69 67 20 73 n.fields.</li>.........<li>Zig.s
457e0 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 20 68 72 65 66 3d upports.arbitrary.width.<a.href=
45800 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 6e 64 20 61 6c 74 "#Integers">Integers</a>.and.alt
45820 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 69 74 68 20 66 65 hough.normally,.integers.with.fe
45840 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 6c 6c 20 73 74 69 wer.........than.8.bits.will.sti
45860 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 6e 20 70 61 63 6b ll.use.1.byte.of.memory,.in.pack
45880 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 20 20 20 65 78 61 ed.structs,.they.use.........exa
458a0 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 20 20 20 20 3c 2f ctly.their.bit.width..........</
458c0 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
458e0 73 3d 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">
45900 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 66 69 65 6c 64 73 bool</span></span></code>.fields
45920 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 20 20 20 20 20 20 .use.exactly.1.bit.</li>........
45940 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 75 6d 3c 2f 61 3e .<li>An.<a.href="#enum">enum</a>
45960 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 74 20 77 69 64 74 .field.uses.exactly.the.bit.widt
45980 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 3c 2f 6c 69 3e 0a h.of.its.integer.tag.type.</li>.
459a0 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 63 6b 65 64 2d 75 ........<li>A.<a.href="#packed-u
459c0 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 6c 64 20 75 73 65 nion">packed.union</a>.field.use
459e0 73 20 65 78 61 63 74 6c 79 20 74 68 65 20 62 69 74 20 77 69 64 74 68 20 6f 66 20 74 68 65 20 75 s.exactly.the.bit.width.of.the.u
45a00 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 65 20 6c 61 72 67 nion.field.with.........the.larg
45a20 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 20 20 3c 6c 69 3e est.bit.width.</li>.........<li>
45a40 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 20 70 61 63 6b 65 Non-ABI-aligned.fields.are.packe
45a60 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 6c 65 0a 20 20 20 d.into.the.smallest.possible....
45a80 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 69 6e 20 61 63 63 .....ABI-aligned.integers.in.acc
45aa0 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 64 69 61 6e 6e 65 ordance.with.the.target.endianne
45ac0 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 75 6c 3e 0a 20 20 ss..........</li>.......</ul>...
45ae0 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 68 61 74 20 61 20 ....<p>.......This.means.that.a.
45b00 3c 63 6f 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
45b20 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 20 3c 73 70 61 lass="tok-kw">packed</span>.<spa
45b40 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 3c 2f n.class="tok-kw">struct</span></
45b60 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 70 61 72 74 69 63 69 70 61 74 65 0a 20 20 20 span></code>.can.participate....
45b80 20 20 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 62 69 74 43 61 73 74 22 3e 40 62 69 74 43 ...in.a.<a.href="#bitCast">@bitC
45ba0 61 73 74 3c 2f 61 3e 20 6f 72 20 61 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e ast</a>.or.a.<a.href="#ptrCast">
45bc0 40 70 74 72 43 61 73 74 3c 2f 61 3e 20 74 6f 20 72 65 69 6e 74 65 72 70 72 65 74 20 6d 65 6d 6f @ptrCast</a>.to.reinterpret.memo
45be0 72 79 2e 0a 20 20 20 20 20 20 54 68 69 73 20 65 76 65 6e 20 77 6f 72 6b 73 20 61 74 20 3c 61 20 ry........This.even.works.at.<a.
45c00 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3a 0a 20 href="#comptime">comptime</a>:..
45c20 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
45c40 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=
45c60 22 66 69 6c 65 22 3e 70 61 63 6b 65 64 5f 73 74 72 75 63 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e "file">packed_structs.zig</cite>
45c80 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
45ca0 61 73 73 3d 22 6c 69 6e 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">
45cc0 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="
45ce0 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
45d00 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
45d20 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
45d40 69 6e 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<
45d60 2f 73 70 61 6e 3e 20 6e 61 74 69 76 65 5f 65 6e 64 69 61 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 /span>.native_endian.=.<span.cla
45d80 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>(
45da0 3c 73 70 61 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
45dc0 74 69 6e 26 71 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 tin&quot;</span>).target.cpu.arc
45de0 68 2e 65 6e 64 69 61 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 h.endian();</span>.<span.class="
45e00 6c 69 6e 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
45e20 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 </span>.expect.=.std.testing.exp
45e40 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"><
45e60 2f 73 70 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.
45e80 63 6c 61 73 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 75 6c 6c class="tok-kw">const</span>.Full
45ea0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f .=.<span.class="tok-kw">packed</
45ec0 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 63 span>.<span.class="tok-kw">struc
45ee0 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 6c t</span>.{</span>.<span.class="l
45f00 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ine">....number:.<span.class="to
45f20 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-type">u16</span>,</span>.<span
45f40 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
45f60 61 73 73 3d 22 6c 69 6e 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">
45f80 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 44 69 76 69 64 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 const</span>.Divided.=.<span.cla
45fa0 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 20 3c 73 70 61 6e 20 ss="tok-kw">packed</span>.<span.
45fc0 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>.{</
45fe0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 68 61 6c span>.<span.class="line">....hal
46000 66 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 f1:.<span.class="tok-type">u8</s
46020 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">
46040 20 20 20 20 71 75 61 72 74 65 72 33 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ....quarter3:.<span.class="tok-t
46060 79 70 65 22 3e 75 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 ype">u4</span>,</span>.<span.cla
46080 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 71 75 61 72 74 65 72 34 3a 20 3c 73 70 61 6e 20 63 6c ss="line">....quarter4:.<span.cl
460a0 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 3e ass="tok-type">u4</span>,</span>
460c0 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
460e0 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
46100 6c 61 73 73 3d 22 6c 69 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"
46120 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
46140 72 22 3e 26 71 75 6f 74 3b 40 62 69 74 43 61 73 74 20 62 65 74 77 65 65 6e 20 70 61 63 6b 65 64 r">&quot;@bitCast.between.packed
46160 20 73 74 72 75 63 74 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 .structs&quot;</span>.{</span>.<
46180 73 70 61 6e 20 63 6c 61 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
461a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 6f 54 68 65 54 65 73 74 28 s="tok-kw">try</span>.doTheTest(
461c0 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">...
461e0 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</
46200 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 74 72 79 3c 2f span>.<span.class="tok-kw">try</
46220 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 3c 73 70 61 6e 20 span>.doTheTest();</span>.<span.
46240 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
46260 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
46280 6e 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
462a0 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 54 68 65 54 65 73 n>.<span.class="tok-fn">doTheTes
462c0 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 6f 6b 2d 74 79 70 t</span>().!<span.class="tok-typ
462e0 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
46300 61 73 73 3d 22 6c 69 6e 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-
46320 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
46340 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 46 s="tok-builtin">@sizeOf</span>(F
46360 75 6c 6c 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ull).==.<span.class="tok-number"
46380 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 3d 22 >2</span>);</span>.<span.class="
463a0 6c 69 6e 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
463c0 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
463e0 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 44 69 76 69 64 65 k-builtin">@sizeOf</span>(Divide
46400 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 32 d).==.<span.class="tok-number">2
46420 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
46440 6e 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
46460 3c 2f 73 70 61 6e 3e 20 66 75 6c 6c 20 3d 20 46 75 6c 6c 7b 20 2e 6e 75 6d 62 65 72 20 3d 20 3c </span>.full.=.Full{..number.=.<
46480 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 34 3c 2f span.class="tok-number">0x1234</
464a0 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
464c0 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<
464e0 2f 73 70 61 6e 3e 20 64 69 76 69 64 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>.divided.=.<span.class="to
46500 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 44 69 76 69 64 k-builtin">@bitCast</span>(Divid
46520 65 64 2c 20 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 ed,.full);</span>.<span.class="l
46540 69 6e 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 ine">....<span.class="tok-kw">sw
46560 69 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 itch</span>.(native_endian).{</s
46580 70 61 6e 3e 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">........
465a0 2e 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 .Big.=&gt;.{</span>.<span.class=
465c0 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="
465e0 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 65 tok-kw">try</span>.expect(divide
46600 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 62 d.half1.==.<span.class="tok-numb
46620 65 72 22 3e 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 er">0x12</span>);</span>.<span.c
46640 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 6c lass="line">............<span.cl
46660 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 64 ass="tok-kw">try</span>.expect(d
46680 69 76 69 64 65 64 2e 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 ivided.quarter3.==.<span.class="
466a0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a tok-number">0x3</span>);</span>.
466c0 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">............<
466e0 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
46700 78 70 65 63 74 28 64 69 76 69 64 65 64 2e 71 75 61 72 74 65 72 34 20 3d 3d 20 3c 73 70 61 6e 20 xpect(divided.quarter4.==.<span.
46720 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 34 3c 2f 73 70 61 6e 3e 29 3b 3c class="tok-number">0x4</span>);<
46740 2f 73 70 61 6e 3e 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">......
46760 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 22 3e 20 ..},</span>.<span.class="line">.
46780 20 20 20 20 20 20 20 2e 4c 69 74 74 6c 65 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ........Little.=&gt;.{</span>.<s
467a0 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 70 pan.class="line">............<sp
467c0 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
467e0 65 63 74 28 64 69 76 69 64 65 64 2e 68 61 6c 66 31 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ect(divided.half1.==.<span.class
46800 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ="tok-number">0x34</span>);</spa
46820 6e 3e 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">..........
46840 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
46860 3e 20 65 78 70 65 63 74 28 64 69 76 69 64 65 64 2e 71 75 61 72 74 65 72 33 20 3d 3d 20 3c 73 70 >.expect(divided.quarter3.==.<sp
46880 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 32 3c 2f 73 70 61 6e 3e an.class="tok-number">0x2</span>
468a0 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">...
468c0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 .........<span.class="tok-kw">tr
468e0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 69 76 69 64 65 64 2e 71 75 61 72 74 65 72 34 y</span>.expect(divided.quarter4
46900 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
46920 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
46940 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 73 ne">........},</span>.<span.clas
46960 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
46980 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></
469a0 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
469c0 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><
469e0 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
46a00 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 61 63 6b 65 64 5f 73 74 72 75 63 74 73 2e 7a 69 67 3c kbd>zig.test.packed_structs.zig<
46a20 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
46a40 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 62 69 74 43 61 73 74 20 62 65 74 77 65 65 6e 20 1/1.test.&quot;@bitCast.between.
46a60 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e packed.structs&quot;....OK</span
46a80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 >.<span.class="line">All.1.tests
46aa0 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 .passed.</span>.</samp></pre></f
46ac0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 61 6c 6c 6f 77 igure>.......<p>.......Zig.allow
46ae0 73 20 74 68 65 20 61 64 64 72 65 73 73 20 74 6f 20 62 65 20 74 61 6b 65 6e 20 6f 66 20 61 20 6e s.the.address.to.be.taken.of.a.n
46b00 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 3a 0a 20 20 20 20 20 20 3c 2f 70 on-byte-aligned.field:.......</p
46b20 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
46b40 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 70 s="zig-cap"><cite.class="file">p
46b60 6f 69 6e 74 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 ointer_to_non-byte_aligned_field
46b80 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
46ba0 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
46bc0 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
46be0 70 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<
46c00 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
46c20 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
46c40 61 6e 20 63 6c 61 73 73 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
46c60 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 74 -kw">const</span>.expect.=.std.t
46c80 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
46ca0 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
46cc0 6e 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</
46ce0 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.BitField.=.<span.class="to
46d00 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">packed</span>.<span.class=
46d20 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>.
46d40 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 61 6e 20 <span.class="line">....a:.<span.
46d60 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 class="tok-type">u3</span>,</spa
46d80 6e 3e 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 20 3c 73 70 n>.<span.class="line">....b:.<sp
46da0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f an.class="tok-type">u3</span>,</
46dc0 73 70 61 6e 3e 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 3a 20 span>.<span.class="line">....c:.
46de0 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 3e <span.class="tok-type">u2</span>
46e00 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">};</
46e20 73 70 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>
46e40 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=
46e60 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 42 69 74 46 69 65 "tok-kw">var</span>.foo.=.BitFie
46e80 6c 64 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 ld{</span>.<span.class="line">..
46ea0 20 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ...a.=.<span.class="tok-number">
46ec0 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 73 73 3d 22 6c 69 1</span>,</span>.<span.class="li
46ee0 6e 65 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 ne">.....b.=.<span.class="tok-nu
46f00 6d 62 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 mber">2</span>,</span>.<span.cla
46f20 73 73 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 ss="line">.....c.=.<span.class="
46f40 74 6f 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 tok-number">3</span>,</span>.<sp
46f60 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.
46f80 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
46fa0 3d 22 6c 69 6e 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
46fc0 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">&
46fe0 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 quot;pointer.to.non-byte-aligned
47000 20 66 69 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 .field&quot;</span>.{</span>.<sp
47020 61 6e 20 63 6c 61 73 73 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=
47040 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
47060 3b 66 6f 6f 2e 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 ;foo.b;</span>.<span.class="line
47080 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</
470a0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 span>.expect(ptr.*.==.<span.clas
470c0 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 61 6e 3e s="tok-number">2</span>);</span>
470e0 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
47100 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
47120 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
47140 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
47160 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 6f 69 6e 74 65 72 5f ="line">$.<kbd>zig.test.pointer_
47180 74 6f 5f 6e 6f 6e 2d 62 79 74 65 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f 6b to_non-byte_aligned_field.zig</k
471a0 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f bd></span>.<span.class="line">1/
471c0 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 79 74 65 1.test.&quot;pointer.to.non-byte
471e0 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e -aligned.field&quot;....OK</span
47200 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 >.<span.class="line">All.1.tests
47220 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 .passed.</span>.</samp></pre></f
47240 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 igure>.......<p>.......However,.
47260 74 68 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 the.pointer.to.a.non-byte-aligne
47280 64 20 66 69 65 6c 64 20 68 61 73 20 73 70 65 63 69 61 6c 20 70 72 6f 70 65 72 74 69 65 73 20 61 d.field.has.special.properties.a
472a0 6e 64 20 63 61 6e 6e 6f 74 0a 20 20 20 20 20 20 62 65 20 70 61 73 73 65 64 20 77 68 65 6e 20 61 nd.cannot.......be.passed.when.a
472c0 20 6e 6f 72 6d 61 6c 20 70 6f 69 6e 74 65 72 20 69 73 20 65 78 70 65 63 74 65 64 3a 0a 20 20 20 .normal.pointer.is.expected:....
472e0 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
47300 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
47320 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e ile">test.zig</cite></figcaption
47340 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"><
47360 73 70 61 6e 20 63 6c 61 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>
47380 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"
473a0 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
473c0 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>);</
473e0 73 70 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
47400 6c 61 73 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
47420 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>.<
47440 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.
47460 63 6c 61 73 73 3d 22 6c 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
47480 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 ">const</span>.BitField.=.<span.
474a0 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 20 3c 73 70 class="tok-kw">packed</span>.<sp
474c0 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>.
474e0 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">....
47500 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 3c 2f 73 70 a:.<span.class="tok-type">u3</sp
47520 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">.
47540 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c ...b:.<span.class="tok-type">u3<
47560 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
47580 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 2d 74 79 70 65 22 3e ">....c:.<span.class="tok-type">
475a0 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 6c 61 73 73 3d 22 6c u2</span>,</span>.<span.class="l
475c0 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
475e0 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
47600 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 69 74 an.class="tok-kw">var</span>.bit
47620 5f 66 69 65 6c 64 20 3d 20 42 69 74 46 69 65 6c 64 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 _field.=.BitField{</span>.<span.
47640 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 61 73 class="line">.....a.=.<span.clas
47660 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 3e 0a s="tok-number">1</span>,</span>.
47680 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 70 61 <span.class="line">.....b.=.<spa
476a0 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 3c 2f n.class="tok-number">2</span>,</
476c0 73 70 61 6e 3e 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 63 20 span>.<span.class="line">.....c.
476e0 3d 20 3c 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
47700 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">}
47720 3b 3c 2f 73 70 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
47740 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
47760 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
47780 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 20 6e ass="tok-str">&quot;pointer.to.n
477a0 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e on-bit-aligned.field&quot;</span
477c0 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">..
477e0 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
47800 3e 20 65 78 70 65 63 74 28 62 61 72 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 20 3d >.expect(bar(&amp;bit_field.b).=
47820 3d 20 3c 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
47840 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">
47860 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
47880 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
478a0 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
478c0 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 78 3a 20 2a 3c 73 70 61 6e 20 s="tok-fn">bar</span>(x:.*<span.
478e0 63 6c 61 73 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
47900 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 29 20 3c 73 n.class="tok-type">u3</span>).<s
47920 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 20 7b pan.class="tok-type">u3</span>.{
47940 3c 2f 73 70 61 6e 3e 0a 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">....<
47960 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
47980 3e 20 78 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >.x.*;</span>.<span.class="line"
479a0 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><
479c0 66 69 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-
479e0 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
47a00 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
47a20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e test.test.zig</kbd></span>.<span
47a40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 .class="line"><span.class="t0_1"
47a60 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 3a 33 30 3a 20 3c 2f >./docgen_tmp/test.zig:17:30:.</
47a80 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 span><span.class="t31_1">error:.
47aa0 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 70 65 63 74 </span><span.class="t0_1">expect
47ac0 65 64 20 74 79 70 65 20 27 2a 63 6f 6e 73 74 20 75 33 27 2c 20 66 6f 75 6e 64 20 27 2a 61 6c 69 ed.type.'*const.u3',.found.'*ali
47ae0 67 6e 28 3a 33 3a 31 29 20 75 33 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e gn(:3:1).u3'</span></span>.<span
47b00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 65 78 70 65 63 74 28 62 61 72 .class="line">....try.expect(bar
47b20 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 20 3d 3d 20 32 29 3b 3c 2f 73 70 61 6e 3e (&amp;bit_field.b).==.2);</span>
47b40 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">............
47b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 .................<span.class="t3
47b80 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 2_1">^</span></span>.</samp></pr
47ba0 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 74 e></figure>.......<p>.......In.t
47bc0 68 69 73 20 63 61 73 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 his.case,.the.function.<code><sp
47be0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 an.class="line">bar</span></code
47c00 3e 20 63 61 6e 6e 6f 74 20 62 65 20 63 61 6c 6c 65 64 20 62 65 63 61 75 73 65 20 74 68 65 20 70 >.cannot.be.called.because.the.p
47c20 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 74 6f 20 74 68 65 20 6e 6f 6e 2d 41 42 49 2d 61 6c 69 67 ointer.......to.the.non-ABI-alig
47c40 6e 65 64 20 66 69 65 6c 64 20 6d 65 6e 74 69 6f 6e 73 20 74 68 65 20 62 69 74 20 6f 66 66 73 65 ned.field.mentions.the.bit.offse
47c60 74 2c 20 62 75 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 65 63 74 73 20 61 6e 20 41 t,.but.the.function.expects.an.A
47c80 42 49 2d 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 BI-aligned.pointer........</p>..
47ca0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 6f 69 6e 74 65 72 73 20 74 6f 20 6e 6f 6e 2d 41 .....<p>.......Pointers.to.non-A
47cc0 42 49 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 73 20 73 68 61 72 65 20 74 68 65 20 73 61 6d 65 BI-aligned.fields.share.the.same
47ce0 20 61 64 64 72 65 73 73 20 61 73 20 74 68 65 20 6f 74 68 65 72 20 66 69 65 6c 64 73 20 77 69 74 .address.as.the.other.fields.wit
47d00 68 69 6e 20 74 68 65 69 72 20 68 6f 73 74 20 69 6e 74 65 67 65 72 3a 0a 20 20 20 20 20 20 3c 2f hin.their.host.integer:.......</
47d20 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
47d40 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">
47d60 70 6f 69 6e 74 65 72 5f 74 6f 5f 6e 6f 6e 2d 62 69 74 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 pointer_to_non-bit_aligned_field
47d80 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
47da0 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
47dc0 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
47de0 70 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<
47e00 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
47e20 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
47e40 61 6e 20 63 6c 61 73 73 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
47e60 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 74 -kw">const</span>.expect.=.std.t
47e80 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
47ea0 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
47ec0 6e 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</
47ee0 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.BitField.=.<span.class="to
47f00 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">packed</span>.<span.class=
47f20 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>.
47f40 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 61 6e 20 <span.class="line">....a:.<span.
47f60 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 class="tok-type">u3</span>,</spa
47f80 6e 3e 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 20 3c 73 70 n>.<span.class="line">....b:.<sp
47fa0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f an.class="tok-type">u3</span>,</
47fc0 73 70 61 6e 3e 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 3a 20 span>.<span.class="line">....c:.
47fe0 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 3e <span.class="tok-type">u2</span>
48000 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">};</
48020 73 70 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>
48040 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=
48060 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 69 74 5f 66 69 65 6c 64 20 3d 20 "tok-kw">var</span>.bit_field.=.
48080 42 69 74 46 69 65 6c 64 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 BitField{</span>.<span.class="li
480a0 6e 65 22 3e 20 20 20 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ne">.....a.=.<span.class="tok-nu
480c0 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
480e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">.....b.=.<span.class="
48100 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 0a 3c 73 70 tok-number">2</span>,</span>.<sp
48120 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 an.class="line">.....c.=.<span.c
48140 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 3c 2f 73 70 61 lass="tok-number">3</span>,</spa
48160 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>.
48180 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
481a0 20 63 6c 61 73 73 3d 22 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
481c0 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-
481e0 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c str">&quot;pointer.to.non-bit-al
48200 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e igned.field&quot;</span>.{</span
48220 3e 0a 3c 73 70 61 6e 20 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
48240 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(
48260 3c 73 70 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 54 6f <span.class="tok-builtin">@ptrTo
48280 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 61 29 20 3d 3d 20 Int</span>(&amp;bit_field.a).==.
482a0 3c 73 70 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 54 6f <span.class="tok-builtin">@ptrTo
482c0 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 29 3b 3c 2f Int</span>(&amp;bit_field.b));</
482e0 73 70 61 6e 3e 0a 3c 73 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
48300 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
48320 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 70 ect(<span.class="tok-builtin">@p
48340 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 61 29 trToInt</span>(&amp;bit_field.a)
48360 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 .==.<span.class="tok-builtin">@p
48380 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 63 29 trToInt</span>(&amp;bit_field.c)
483a0 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">}</
483c0 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
483e0 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"
48400 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 3c 73 >Shell</figcaption><pre><samp><s
48420 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 pan.class="line">$.<kbd>zig.test
48440 20 70 6f 69 6e 74 65 72 5f 74 6f 5f 6e 6f 6e 2d 62 69 74 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c .pointer_to_non-bit_aligned_fiel
48460 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 d.zig</kbd></span>.<span.class="
48480 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 line">1/1.test.&quot;pointer.to.
484a0 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f non-bit-aligned.field&quot;....O
484c0 4b 3c 2f 73 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 6c 6c 20 K</span>.<span.class="line">All.
484e0 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 1.tests.passed.</span>.</samp></
48500 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 pre></figure>.......<p>.......Th
48520 69 73 20 63 61 6e 20 62 65 20 6f 62 73 65 72 76 65 64 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d is.can.be.observed.with.<a.href=
48540 22 23 62 69 74 4f 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 "#bitOffsetOf">@bitOffsetOf</a>.
48560 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 6f 66 66 73 65 74 4f 66 22 3e 6f 66 66 73 65 74 4f 66 and.<a.href="#offsetOf">offsetOf
48580 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><
485a0 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
485c0 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 62 69 74 4f 66 66 73 65 74 4f 66 5f 6f .class="file">test_bitOffsetOf_o
485e0 66 66 73 65 74 4f 66 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 ffsetOf.zig</cite></figcaption><
48600 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
48620 61 6e 20 63 6c 61 73 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
48640 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">@
48660 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
48680 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
486a0 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
486c0 73 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.
486e0 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
48700 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
48720 61 73 73 3d 22 6c 69 6e 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">
48740 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c const</span>.BitField.=.<span.cl
48760 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 20 3c 73 70 61 6e ass="tok-kw">packed</span>.<span
48780 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 3c .class="tok-kw">struct</span>.{<
487a0 2f 73 70 61 6e 3e 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 /span>.<span.class="line">....a:
487c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e .<span.class="tok-type">u3</span
487e0 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">...
48800 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 3c 2f 73 .b:.<span.class="tok-type">u3</s
48820 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">
48840 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 ....c:.<span.class="tok-type">u2
48860 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
48880 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">
488a0 3c 2f 73 70 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
488c0 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
488e0 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.
48900 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 3c 2f to.non-bit-aligned.field&quot;</
48920 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
48940 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 74 ">....<span.class="tok-kw">compt
48960 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=
48980 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-
489a0 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
489c0 73 3d 22 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 s="tok-builtin">@bitOffsetOf</sp
489e0 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 an>(BitField,.<span.class="tok-s
48a00 74 72 22 3e 26 71 75 6f 74 3b 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 tr">&quot;a&quot;</span>).==.<sp
48a20 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 3b an.class="tok-number">0</span>);
48a40 3c 2f 73 70 61 6e 3e 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">.....
48a60 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
48a80 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
48aa0 69 6e 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 in">@bitOffsetOf</span>(BitField
48ac0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 26 ,.<span.class="tok-str">&quot;b&
48ae0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f quot;</span>).==.<span.class="to
48b00 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
48b20 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
48b40 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
48b60 70 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 73 pan.class="tok-builtin">@bitOffs
48b80 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 73 etOf</span>(BitField,.<span.clas
48ba0 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>
48bc0 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 36 3c ).==.<span.class="tok-number">6<
48be0 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
48c00 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">..
48c20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ......<span.class="tok-kw">try</
48c40 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
48c60 69 6c 74 69 6e 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 iltin">@offsetOf</span>(BitField
48c80 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 26 ,.<span.class="tok-str">&quot;a&
48ca0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f quot;</span>).==.<span.class="to
48cc0 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 61 k-number">0</span>);</span>.<spa
48ce0 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
48d00 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
48d20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6f 66 66 73 65 74 4f pan.class="tok-builtin">@offsetO
48d40 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 f</span>(BitField,.<span.class="
48d60 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d tok-str">&quot;b&quot;</span>).=
48d80 3d 20 3c 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
48da0 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">
48dc0 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
48de0 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-
48e00 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 42 69 74 46 69 65 builtin">@offsetOf</span>(BitFie
48e20 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b ld,.<span.class="tok-str">&quot;
48e40 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 c&quot;</span>).==.<span.class="
48e60 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 73 tok-number">0</span>);</span>.<s
48e80 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
48ea0 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>
48ec0 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
48ee0 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
48f00 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><samp><span.class="l
48f20 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 62 69 74 4f 66 66 ine">$.<kbd>zig.test.test_bitOff
48f40 73 65 74 4f 66 5f 6f 66 66 73 65 74 4f 66 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a setOf_offsetOf.zig</kbd></span>.
48f60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f <span.class="line">1/1.test.&quo
48f80 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 65 t;pointer.to.non-bit-aligned.fie
48fa0 6c 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ld&quot;....OK</span>.<span.clas
48fc0 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 s="line">All.1.tests.passed.</sp
48fe0 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>......
49000 20 3c 70 3e 0a 20 20 20 20 20 20 50 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 68 61 76 65 20 31 .<p>.......Packed.structs.have.1
49020 2d 62 79 74 65 20 61 6c 69 67 6e 6d 65 6e 74 2e 20 48 6f 77 65 76 65 72 20 69 66 20 79 6f 75 20 -byte.alignment..However.if.you.
49040 68 61 76 65 20 61 6e 20 6f 76 65 72 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 have.an.overaligned.pointer.to.a
49060 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 2c 0a 20 20 20 20 20 20 5a 69 67 20 73 68 6f 75 6c 64 .packed.struct,.......Zig.should
49080 20 63 6f 72 72 65 63 74 6c 79 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 61 6c 69 67 6e 6d .correctly.understand.the.alignm
490a0 65 6e 74 20 6f 66 20 66 69 65 6c 64 73 2e 20 48 6f 77 65 76 65 72 20 74 68 65 72 65 20 69 73 0a ent.of.fields..However.there.is.
490c0 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f ......<a.href="https://github.co
490e0 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 31 39 39 34 22 3e 61 20 62 75 67 m/ziglang/zig/issues/1994">a.bug
49100 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><
49120 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
49140 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 .class="file">test.zig</cite></f
49160 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
49180 3d 22 6c 69 6e 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
491a0 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b st</span>.S.=.<span.class="tok-k
491c0 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
491e0 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
49200 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 61 6e 20 63 6c 61 an.class="line">....a:.<span.cla
49220 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 61 6e 3e ss="tok-type">u32</span>,</span>
49240 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 20 3c 73 70 61 6e .<span.class="line">....b:.<span
49260 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
49280 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
492a0 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
492c0 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
492e0 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 6e 65 64 20 70 6f s="tok-str">&quot;overaligned.po
49300 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 74 3b 3c 2f 73 70 inter.to.packed.struct&quot;</sp
49320 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">
49340 20 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
49360 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 6b 2d 6b 77 22 3e an>.foo:.S.<span.class="tok-kw">
49380 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 align</span>(<span.class="tok-nu
493a0 6d 62 65 72 22 3e 34 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 mber">4</span>).=.<span.class="t
493c0 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 61 6e ok-null">undefined</span>;</span
493e0 3e 0a 3c 73 70 61 6e 20 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
49400 6c 61 73 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 lass="tok-kw">const</span>.ptr:.
49420 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 73 70 61 *<span.class="tok-kw">align</spa
49440 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 2f 73 n>(<span.class="tok-number">4</s
49460 70 61 6e 3e 29 20 53 20 3d 20 26 61 6d 70 3b 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pan>).S.=.&amp;foo;</span>.<span
49480 20 63 6c 61 73 73 3d 22 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
494a0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 5f 74 6f 5f 62 3a 20 2a 3c ok-kw">const</span>.ptr_to_b:.*<
494c0 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>
494e0 20 3d 20 26 61 6d 70 3b 70 74 72 2e 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .=.&amp;ptr.b;</span>.<span.clas
49500 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 74 72 5f 74 6f 5f 62 3b 3c 2f 73 70 61 6e s="line">...._.=.ptr_to_b;</span
49520 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
49540 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
49560 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</
49580 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><samp><span.clas
495a0 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 s="line">$.<kbd>zig.test.test.zi
495c0 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
495e0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d "><span.class="t0_1">./docgen_tm
49600 70 2f 74 65 73 74 2e 7a 69 67 3a 38 3a 33 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c p/test.zig:8:32:.</span><span.cl
49620 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 ass="t31_1">error:.</span><span.
49640 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 2a 75 33 32 class="t0_1">expected.type.'*u32
49660 27 2c 20 66 6f 75 6e 64 20 27 2a 61 6c 69 67 6e 28 31 29 20 75 33 32 27 3c 2f 73 70 61 6e 3e 3c ',.found.'*align(1).u32'</span><
49680 2f 73 70 61 6e 3e 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 6f /span>.<span.class="line">....co
496a0 6e 73 74 20 70 74 72 5f 74 6f 5f 62 3a 20 2a 75 33 32 20 3d 20 26 61 6d 70 3b 70 74 72 2e 62 3b nst.ptr_to_b:.*u32.=.&amp;ptr.b;
496c0 3c 2f 73 70 61 6e 3e 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">.....
496e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 ..........................<span.
49700 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f class="t32_1">^</span></span>.</
49720 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 57 68 samp></pre></figure>.......<p>Wh
49740 65 6e 20 74 68 69 73 20 62 75 67 20 69 73 20 66 69 78 65 64 2c 20 74 68 65 20 61 62 6f 76 65 20 en.this.bug.is.fixed,.the.above.
49760 74 65 73 74 20 69 6e 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 77 69 6c 6c 20 75 test.in.the.documentation.will.u
49780 6e 65 78 70 65 63 74 65 64 6c 79 20 70 61 73 73 2c 20 77 68 69 63 68 20 77 69 6c 6c 0a 20 20 20 nexpectedly.pass,.which.will....
497a0 20 20 20 63 61 75 73 65 20 74 68 65 20 74 65 73 74 20 73 75 69 74 65 20 74 6f 20 66 61 69 6c 2c ...cause.the.test.suite.to.fail,
497c0 20 6e 6f 74 69 66 79 69 6e 67 20 74 68 65 20 62 75 67 20 66 69 78 65 72 20 74 6f 20 75 70 64 61 .notifying.the.bug.fixer.to.upda
497e0 74 65 20 74 68 65 73 65 20 64 6f 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 te.these.docs........</p>.......
49800 3c 70 3e 0a 20 20 20 20 20 20 49 74 27 73 20 61 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 <p>.......It's.also.possible.to.
49820 73 65 74 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 3a 0a set.alignment.of.struct.fields:.
49840 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
49860 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
49880 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 61 6c 69 67 6e 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c ="file">test_aligned_struct_fiel
498a0 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 3c ds.zig</cite></figcaption><pre><
498c0 63 6f 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
498e0 61 73 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.=.
49900 3c 73 70 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
49920 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">&
49940 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>.<
49960 73 70 61 6e 20 63 6c 61 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
49980 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 45 71 75 61 6c 20 ok-kw">const</span>.expectEqual.
499a0 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 3c 2f 73 70 61 6e =.std.testing.expectEqual;</span
499c0 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
499e0 61 6e 20 63 6c 61 73 73 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
49a00 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
49a20 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6c 69 67 6e 65 64 20 73 74 72 75 63 74 20 66 69 65 6c k-str">&quot;aligned.struct.fiel
49a40 64 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 ds&quot;</span>.{</span>.<span.c
49a60 6c 61 73 73 3d 22 6c 69 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
49a80 2d 6b 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 -kw">const</span>.S.=.<span.clas
49aa0 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 6e s="tok-kw">struct</span>.{</span
49ac0 3e 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 61 3a 20 >.<span.class="line">........a:.
49ae0 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
49b00 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 >.<span.class="tok-kw">align</sp
49b20 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 3c 2f an>(<span.class="tok-number">2</
49b40 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 65 span>),</span>.<span.class="line
49b60 22 3e 20 20 20 20 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ">........b:.<span.class="tok-ty
49b80 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 74 6f 6b 2d pe">u32</span>.<span.class="tok-
49ba0 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
49bc0 6b 2d 6e 75 6d 62 65 72 22 3e 36 34 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">64</span>),</span>.<sp
49be0 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
49c00 70 61 6e 20 63 6c 61 73 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
49c20 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 53 7b 20 2e 61 ="tok-kw">var</span>.foo.=.S{..a
49c40 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
49c60 70 61 6e 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 pan>,..b.=.<span.class="tok-numb
49c80 65 72 22 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 er">2</span>.};</span>.<span.cla
49ca0 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
49cc0 69 6e 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
49ce0 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 20 63 6c 61 73 73 y</span>.expectEqual(<span.class
49d00 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ="tok-number">64</span>,.<span.c
49d20 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 73 70 61 lass="tok-builtin">@alignOf</spa
49d40 6e 3e 28 53 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 n>(S));</span>.<span.class="line
49d60 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</
49d80 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>.expectEqual(*<span.class="
49da0 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
49dc0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c ="tok-number">2</span>).<span.cl
49de0 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 6e ass="tok-type">u32</span>,.<span
49e00 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
49e20 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 2e 61 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an>(&amp;foo.a));</span>.<span.c
49e40 6c 61 73 73 3d 22 6c 69 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
49e60 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 2a 3c 73 70 -kw">try</span>.expectEqual(*<sp
49e80 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 3c an.class="tok-kw">align</span>(<
49ea0 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 70 61 6e span.class="tok-number">64</span
49ec0 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 >).<span.class="tok-type">u32</s
49ee0 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e pan>,.<span.class="tok-builtin">
49f00 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 2e 62 29 29 3b 3c 2f 73 70 @TypeOf</span>(&amp;foo.b));</sp
49f20 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><
49f40 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
49f60 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
49f80 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><samp><span.cl
49fa0 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f ass="line">$.<kbd>zig.test.test_
49fc0 61 6c 69 67 6e 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c aligned_struct_fields.zig</kbd><
49fe0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 /span>.<span.class="line">1/1.te
4a000 73 74 20 26 71 75 6f 74 3b 61 6c 69 67 6e 65 64 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 26 71 st.&quot;aligned.struct.fields&q
4a020 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uot;....OK</span>.<span.class="l
4a040 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a ine">All.1.tests.passed.</span>.
4a060 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>
4a080 0a 20 20 20 20 20 20 55 73 69 6e 67 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 77 69 74 68 .......Using.packed.structs.with
4a0a0 20 3c 61 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 61 .<a.href="#volatile">volatile</a
4a0c0 3e 20 69 73 20 70 72 6f 62 6c 65 6d 61 74 69 63 2c 20 61 6e 64 20 6d 61 79 20 62 65 20 61 20 63 >.is.problematic,.and.may.be.a.c
4a0e0 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 2e 0a 20 20 20 20 ompile.error.in.the.future......
4a100 20 20 46 6f 72 20 64 65 74 61 69 6c 73 20 6f 6e 20 74 68 69 73 20 73 75 62 73 63 72 69 62 65 20 ..For.details.on.this.subscribe.
4a120 74 6f 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 to.......<a.href="https://github
4a140 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 31 37 36 31 22 3e 74 68 .com/ziglang/zig/issues/1761">th
4a160 69 73 20 69 73 73 75 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 54 4f 44 4f 20 75 70 64 61 74 65 20 is.issue</a>........TODO.update.
4a180 74 68 65 73 65 20 64 6f 63 73 20 77 69 74 68 20 61 20 72 65 63 6f 6d 6d 65 6e 64 61 74 69 6f 6e these.docs.with.a.recommendation
4a1a0 20 6f 6e 20 68 6f 77 20 74 6f 20 75 73 65 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 77 69 .on.how.to.use.packed.structs.wi
4a1c0 74 68 20 4d 4d 49 4f 0a 20 20 20 20 20 20 28 74 68 65 20 75 73 65 20 63 61 73 65 20 66 6f 72 20 th.MMIO.......(the.use.case.for.
4a1e0 76 6f 6c 61 74 69 6c 65 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 29 20 6f 6e 63 65 20 74 68 volatile.packed.structs).once.th
4a200 69 73 20 69 73 73 75 65 20 69 73 20 72 65 73 6f 6c 76 65 64 2e 0a 20 20 20 20 20 20 44 6f 6e 27 is.issue.is.resolved........Don'
4a220 74 20 77 6f 72 72 79 2c 20 74 68 65 72 65 20 77 69 6c 6c 20 62 65 20 61 20 67 6f 6f 64 20 73 6f t.worry,.there.will.be.a.good.so
4a240 6c 75 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 20 75 73 65 20 63 61 73 65 20 69 6e 20 7a 69 67 2e lution.for.this.use.case.in.zig.
4a260 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
4a280 3d 22 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 ="Struct-Naming"><a.href="#toc-S
4a2a0 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e 53 74 72 75 63 74 20 4e 61 6d 69 6e 67 3c 2f 61 3e 20 truct-Naming">Struct.Naming</a>.
4a2c0 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 72 75 63 74 2d 4e 61 6d <a.class="hdr".href="#Struct-Nam
4a2e0 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 53 69 6e 63 65 ing">..</a></h3>........<p>Since
4a300 20 61 6c 6c 20 73 74 72 75 63 74 73 20 61 72 65 20 61 6e 6f 6e 79 6d 6f 75 73 2c 20 5a 69 67 20 .all.structs.are.anonymous,.Zig.
4a320 69 6e 66 65 72 73 20 74 68 65 20 74 79 70 65 20 6e 61 6d 65 20 62 61 73 65 64 20 6f 6e 20 61 20 infers.the.type.name.based.on.a.
4a340 66 65 77 20 72 75 6c 65 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 few.rules.</p>.......<ul>.......
4a360 20 20 20 20 3c 6c 69 3e 49 66 20 74 68 65 20 73 74 72 75 63 74 20 69 73 20 69 6e 20 74 68 65 20 ....<li>If.the.struct.is.in.the.
4a380 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 66 20 61 20 76 initialization.expression.of.a.v
4a3a0 61 72 69 61 62 6c 65 2c 20 69 74 20 67 65 74 73 20 6e 61 6d 65 64 20 61 66 74 65 72 0a 20 20 20 ariable,.it.gets.named.after....
4a3c0 20 20 20 20 20 20 20 74 68 61 74 20 76 61 72 69 61 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 .......that.variable.</li>......
4a3e0 20 20 20 20 20 3c 6c 69 3e 49 66 20 74 68 65 20 73 74 72 75 63 74 20 69 73 20 69 6e 20 74 68 65 .....<li>If.the.struct.is.in.the
4a400 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.
4a420 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 73 70 class="tok-kw">return</span></sp
4a440 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 69 74 20 67 65 74 73 20 6e an></code>.expression,.it.gets.n
4a460 61 6d 65 64 20 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f amed.after...........the.functio
4a480 6e 20 69 74 20 69 73 20 72 65 74 75 72 6e 69 6e 67 20 66 72 6f 6d 2c 20 77 69 74 68 20 74 68 65 n.it.is.returning.from,.with.the
4a4a0 20 70 61 72 61 6d 65 74 65 72 20 76 61 6c 75 65 73 20 73 65 72 69 61 6c 69 7a 65 64 2e 3c 2f 6c .parameter.values.serialized.</l
4a4c0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 i>...........<li>Otherwise,.the.
4a4e0 73 74 72 75 63 74 20 67 65 74 73 20 61 20 6e 61 6d 65 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 struct.gets.a.name.such.as.<code
4a500 3e 28 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 61 74 20 66 69 6c 65 2e 7a 69 67 3a 37 >(anonymous.struct.at.file.zig:7
4a520 3a 33 38 29 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 :38)</code>.</li>.......</ul>...
4a540 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
4a560 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 63 ig-cap"><cite.class="file">struc
4a580 74 5f 6e 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 t_name.zig</cite></figcaption><p
4a5a0 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
4a5c0 6e 20 63 6c 61 73 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
4a5e0 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
4a600 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
4a620 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
4a640 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
4a660 70 61 6e 20 63 6c 61 73 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
4a680 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
4a6a0 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
4a6c0 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="
4a6e0 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>.<
4a700 73 70 61 6e 20 63 6c 61 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
4a720 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 20 3c 73 s="tok-kw">const</span>.Foo.=.<s
4a740 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>
4a760 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">.
4a780 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="
4a7a0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 3a 20 7b 73 7d 5c 6e 26 71 tok-str">&quot;variable:.{s}\n&q
4a7c0 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-
4a7e0 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 46 6f 6f 29 7d 29 builtin">@typeName</span>(Foo)})
4a800 3b 3c 2f 73 70 61 6e 3e 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">....
4a820 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
4a840 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 3a 20 7b 73 7d 5c 6e 26 71 75 6f -str">&quot;anonymous:.{s}\n&quo
4a860 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 t;</span>,..{<span.class="tok-bu
4a880 69 6c 74 69 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 iltin">@typeName</span>(<span.cl
4a8a0 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 7d 29 7d 29 ass="tok-kw">struct</span>.{})})
4a8c0 3b 3c 2f 73 70 61 6e 3e 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">....
4a8e0 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
4a900 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 -str">&quot;function:.{s}\n&quot
4a920 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ;</span>,..{<span.class="tok-bui
4a940 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 4c 69 73 74 28 3c 73 70 61 ltin">@typeName</span>(List(<spa
4a960 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 29 7d n.class="tok-type">i32</span>))}
4a980 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">}</
4a9a0 73 70 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>
4a9c0 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=
4a9e0 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="
4aa00 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 3d tok-fn">List</span>(<span.class=
4aa20 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
4aa40 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 20 n.class="tok-type">type</span>).
4aa60 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
4aa80 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">.
4aaa0 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</
4aac0 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 63 span>.<span.class="tok-kw">struc
4aae0 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 6c t</span>.{</span>.<span.class="l
4ab00 69 6e 65 22 3e 20 20 20 20 20 20 20 20 78 3a 20 54 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ine">........x:.T,</span>.<span.
4ab20 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 70 61 6e class="line">....};</span>.<span
4ab40 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
4ab60 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.
4ab80 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
4aba0 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
4abc0 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 73 74 72 75 63 74 5f 6e 61 ">$.<kbd>zig.build-exe.struct_na
4abe0 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d me.zig</kbd></span>.<span.class=
4ac00 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
4ac20 22 3e 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 3e 3c 2f 73 70 ">$.<kbd>./struct_name</kbd></sp
4ac40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 72 69 61 62 6c 65 3a an>.<span.class="line">variable:
4ac60 20 46 6f 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 22 3e 61 .Foo</span>.<span.class="line">a
4ac80 6e 6f 6e 79 6d 6f 75 73 3a 20 73 74 72 75 63 74 3a 36 3a 35 33 3c 2f 73 70 61 6e 3e 0a 3c 73 70 nonymous:.struct:6:53</span>.<sp
4aca0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 75 6e 63 74 69 6f 6e 3a 20 4c 69 73 74 28 69 an.class="line">function:.List(i
4acc0 33 32 29 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 32)</span>.</samp></pre></figure
4ace0 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 6e 6f 6e 79 6d 6f 75 >...............<h3.id="Anonymou
4ad00 73 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 s-Struct-Literals"><a.href="#toc
4ad20 2d 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
4ad40 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 20 3c 61 20 63 6c 61 ymous.Struct.Literals</a>.<a.cla
4ad60 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 ss="hdr".href="#Anonymous-Struct
4ad80 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 -Literals">..</a></h3>........<p
4ada0 3e 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 >.......Zig.allows.omitting.the.
4adc0 73 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 struct.type.of.a.literal..When.t
4ade0 68 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 he.result.is.<a.href="#Type-Coer
4ae00 63 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 cion">coerced</a>,.......the.str
4ae20 75 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 uct.literal.will.directly.instan
4ae40 74 69 61 74 65 20 74 68 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 2c 20 77 69 74 68 20 tiate.the.result.location,.with.
4ae60 6e 6f 20 63 6f 70 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 no.copy:.......</p>.......<figur
4ae80 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
4aea0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 63 74 5f 72 65 73 75 6c 74 2e 7a ite.class="file">struct_result.z
4aec0 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
4aee0 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=
4af00 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
4af20 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
4af40 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
4af60 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
4af80 20 63 6c 61 73 73 3d 22 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
4afa0 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
4afc0 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=
4afe0 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
4b000 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
4b020 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"
4b040 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >struct</span>.{x:.<span.class="
4b060 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 tok-type">i32</span>,.y:.<span.c
4b080 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 7d 3b 3c 2f 73 70 lass="tok-type">i32</span>};</sp
4b0a0 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>.<
4b0c0 73 70 61 6e 20 63 6c 61 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
4b0e0 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="
4b100 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 tok-str">&quot;anonymous.struct.
4b120 6c 69 74 65 72 61 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 literal&quot;</span>.{</span>.<s
4b140 70 61 6e 20 63 6c 61 73 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
4b160 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 74 3a 20 50 6f 69 6e 74 20 3d ="tok-kw">var</span>.pt:.Point.=
4b180 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 20 20 ..{</span>.<span.class="line">..
4b1a0 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 6e 75 6d 62 .......x.=.<span.class="tok-numb
4b1c0 65 72 22 3e 31 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 er">13</span>,</span>.<span.clas
4b1e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 s="line">.........y.=.<span.clas
4b200 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 37 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e s="tok-number">67</span>,</span>
4b220 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
4b240 3e 0a 3c 73 70 61 6e 20 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
4b260 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(
4b280 70 74 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 pt.x.==.<span.class="tok-number"
4b2a0 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 73 3d >13</span>);</span>.<span.class=
4b2c0 22 6c 69 6e 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">
4b2e0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 2e 79 20 3d 3d 20 3c 73 70 61 6e 20 try</span>.expect(pt.y.==.<span.
4b300 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 37 3c 2f 73 70 61 6e 3e 29 3b 3c 2f class="tok-number">67</span>);</
4b320 73 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
4b340 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><
4b360 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
4b380 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 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
4b3a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 74 72 class="line">$.<kbd>zig.test.str
4b3c0 75 63 74 5f 72 65 73 75 6c 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 uct_result.zig</kbd></span>.<spa
4b3e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 6e n.class="line">1/1.test.&quot;an
4b400 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 2e 2e 2e 20 onymous.struct.literal&quot;....
4b420 4f 4b 3c 2f 73 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 6c 6c OK</span>.<span.class="line">All
4b440 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c .1.tests.passed.</span>.</samp><
4b460 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
4b480 68 65 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 he.struct.type.can.be.inferred..
4b4a0 48 65 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f Here.the.result.location.does.no
4b4c0 74 20 69 6e 63 6c 75 64 65 20 61 20 74 79 70 65 2c 20 61 6e 64 0a 20 20 20 20 20 20 73 6f 20 5a t.include.a.type,.and.......so.Z
4b4e0 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 20 3c 2f 70 3e 0a 20 ig.infers.the.type:.......</p>..
4b500 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="
4b520 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 zig-cap"><cite.class="file">stru
4b540 63 74 5f 61 6e 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 ct_anon.zig</cite></figcaption><
4b560 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
4b580 61 6e 20 63 6c 61 73 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
4b5a0 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">@
4b5c0 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
4b5e0 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
4b600 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
4b620 73 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.
4b640 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
4b660 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
4b680 61 73 73 3d 22 6c 69 6e 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">
4b6a0 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
4b6c0 22 3e 26 71 75 6f 74 3b 66 75 6c 6c 79 20 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 26 71 ">&quot;fully.anonymous.struct&q
4b6e0 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
4b700 3d 22 6c 69 6e 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"
4b720 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 75 6d 70 28 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >try</span>.dump(.{</span>.<span
4b740 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 69 6e 74 20 3d 20 3c 73 70 .class="line">.........int.=.<sp
4b760 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
4b780 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 2f 73 70 >(<span.class="tok-type">u32</sp
4b7a0 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 32 an>,.<span.class="tok-number">12
4b7c0 33 34 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 34</span>),</span>.<span.class="
4b7e0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 line">.........float.=.<span.cla
4b800 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 61 ss="tok-builtin">@as</span>(<spa
4b820 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-type">f64</span>,.<
4b840 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
4b860 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"
4b880 3e 20 20 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 >.........b.=.<span.class="tok-n
4b8a0 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 63 ull">true</span>,</span>.<span.c
4b8c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 20 3d 20 3c 73 70 61 6e 20 63 lass="line">.........s.=.<span.c
4b8e0 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 2f 73 lass="tok-str">&quot;hi&quot;</s
4b900 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">
4b920 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 6e 65 ....});</span>.<span.class="line
4b940 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"></
4b960 73 70 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
4b980 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
4b9a0 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 75 6d 70 3c 2f 73 70 61 6e 3e 28 61 72 67 73 3a 20 3c ass="tok-fn">dump</span>(args:.<
4b9c0 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
4b9e0 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 n>).!<span.class="tok-type">void
4ba00 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
4ba20 6e 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
4ba40 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 69 6e 74 20 3d 3d 20 3c 73 70 61 6e </span>.expect(args.int.==.<span
4ba60 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 29 .class="tok-number">1234</span>)
4ba80 3b 3c 2f 73 70 61 6e 3e 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">....
4baa0 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>.
4bac0 65 78 70 65 63 74 28 61 72 67 73 2e 66 6c 6f 61 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 expect(args.float.==.<span.class
4bae0 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 70 ="tok-number">12.34</span>);</sp
4bb00 61 6e 3e 0a 3c 73 70 61 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
4bb20 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
4bb40 74 28 61 72 67 73 2e 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 t(args.b);</span>.<span.class="l
4bb60 69 6e 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
4bb80 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 61 6e 20 63 6c 61 y</span>.expect(args.s[<span.cla
4bba0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 ss="tok-number">0</span>].==.<sp
4bbc0 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 29 3b 3c an.class="tok-str">'h'</span>);<
4bbe0 2f 73 70 61 6e 3e 0a 3c 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
4bc00 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
4bc20 70 65 63 74 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 pect(args.s[<span.class="tok-num
4bc40 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 73 3d 22 74 ber">1</span>].==.<span.class="t
4bc60 6f 6b 2d 73 74 72 22 3e 27 69 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-str">'i'</span>);</span>.<spa
4bc80 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></
4bca0 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
4bcc0 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
4bce0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
4bd00 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 74 72 75 63 74 5f 61 6e 6f 6e 2e 7a e">$.<kbd>zig.test.struct_anon.z
4bd20 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
4bd40 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 66 75 6c 6c 79 20 61 6e 6f 6e 79 6d 6f 75 e">1/1.test.&quot;fully.anonymou
4bd60 73 20 73 74 72 75 63 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 s.struct&quot;....OK</span>.<spa
4bd80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 n.class="line">All.1.tests.passe
4bda0 64 2e 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 d.</span>.</samp></pre></figure>
4bdc0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 .......<p>.......Anonymous.struc
4bde0 74 73 20 63 61 6e 20 62 65 20 63 72 65 61 74 65 64 20 77 69 74 68 6f 75 74 20 73 70 65 63 69 66 ts.can.be.created.without.specif
4be00 79 69 6e 67 20 66 69 65 6c 64 20 6e 61 6d 65 73 2c 20 61 6e 64 20 61 72 65 20 72 65 66 65 72 72 ying.field.names,.and.are.referr
4be20 65 64 20 74 6f 20 61 73 20 22 74 75 70 6c 65 73 22 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ed.to.as."tuples"........</p>...
4be40 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 66 69 65 6c 64 73 20 61 72 65 20 69 6d 70 ....<p>.......The.fields.are.imp
4be60 6c 69 63 69 74 6c 79 20 6e 61 6d 65 64 20 75 73 69 6e 67 20 6e 75 6d 62 65 72 73 20 73 74 61 72 licitly.named.using.numbers.star
4be80 74 69 6e 67 20 66 72 6f 6d 20 30 2e 20 42 65 63 61 75 73 65 20 74 68 65 69 72 20 6e 61 6d 65 73 ting.from.0..Because.their.names
4bea0 20 61 72 65 20 69 6e 74 65 67 65 72 73 2c 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c .are.integers,.......the.<code><
4bec0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 40 26 71 75 6f 74 3b 30 26 71 75 6f 74 3b span.class="line">@&quot;0&quot;
4bee0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 6d 75 73 74 20 62 65 20 75 73 </span></code>.syntax.must.be.us
4bf00 65 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 6d 2e 20 4e 61 6d 65 73 20 69 6e 73 69 64 65 20 ed.to.access.them..Names.inside.
4bf20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 40 26 71 75 6f 74 3b <code><span.class="line">@&quot;
4bf40 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 61 6c 77 61 79 73 20 &quot;</span></code>.are.always.
4bf60 72 65 63 6f 67 6e 69 73 65 64 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 66 69 recognised.as.<a.href="#Identifi
4bf80 65 72 73 22 3e 69 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ers">identifiers</a>........</p>
4bfa0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 69 6b 65 20 61 72 72 61 79 73 2c 20 74 75 .......<p>.......Like.arrays,.tu
4bfc0 70 6c 65 73 20 68 61 76 65 20 61 20 2e 6c 65 6e 20 66 69 65 6c 64 2c 20 63 61 6e 20 62 65 20 69 ples.have.a..len.field,.can.be.i
4bfe0 6e 64 65 78 65 64 20 61 6e 64 20 20 77 6f 72 6b 20 77 69 74 68 20 74 68 65 20 2b 2b 20 61 6e 64 ndexed.and..work.with.the.++.and
4c000 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 73 6f 20 62 65 20 .**.operators..They.can.also.be.
4c020 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 3d 22 23 69 6e 6c iterated.over.with.<a.href="#inl
4c040 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 20 20 20 20 20 3c ine-for">inline.for</a>........<
4c060 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
4c080 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"
4c0a0 3e 74 75 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 3c 70 >tuple.zig</cite></figcaption><p
4c0c0 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
4c0e0 6e 20 63 6c 61 73 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
4c100 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
4c120 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
4c140 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
4c160 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
4c180 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.=
4c1a0 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
4c1c0 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
4c1e0 73 73 3d 22 6c 69 6e 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
4c200 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"
4c220 3e 26 71 75 6f 74 3b 74 75 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 >&quot;tuple&quot;</span>.{</spa
4c240 6e 3e 0a 3c 73 70 61 6e 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.
4c260 63 6c 61 73 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
4c280 65 73 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 6c 69 6e 65 es.=..{</span>.<span.class="line
4c2a0 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 69 6c 74 ">........<span.class="tok-built
4c2c0 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-
4c2e0 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">u32</span>,.<span.class="t
4c300 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 61 6e 3e 0a ok-number">1234</span>),</span>.
4c320 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
4c340 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>(
4c360 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
4c380 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 32 2e 33 >,.<span.class="tok-number">12.3
4c3a0 34 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 4</span>),</span>.<span.class="l
4c3c0 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 75 ine">........<span.class="tok-nu
4c3e0 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 63 6c ll">true</span>,</span>.<span.cl
4c400 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="
4c420 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c tok-str">&quot;hi&quot;</span>,<
4c440 2f 73 70 61 6e 3e 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">....}.
4c460 2b 2b 20 2e 7b 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 ++..{<span.class="tok-null">fals
4c480 65 3c 2f 73 70 61 6e 3e 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 e</span>}.**.<span.class="tok-nu
4c4a0 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 6e 20 63 6c 61 mber">2</span>;</span>.<span.cla
4c4c0 73 73 3d 22 6c 69 6e 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
4c4e0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 73 5b 3c 73 70 61 w">try</span>.expect(values[<spa
4c500 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>].=
4c520 3d 20 3c 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<
4c540 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
4c560 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<
4c580 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.expect(values[<span.class
4c5a0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e ="tok-number">4</span>].==.<span
4c5c0 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 3b .class="tok-null">false</span>);
4c5e0 3c 2f 73 70 61 6e 3e 0a 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">....<
4c600 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 6e span.class="tok-kw">inline</span
4c620 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e >.<span.class="tok-kw">for</span
4c640 3e 20 28 76 61 6c 75 65 73 29 20 7c 76 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >.(values).|v,.i|.{</span>.<span
4c660 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
4c680 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 20 21 3d 20 3c 73 70 61 6e s="tok-kw">if</span>.(i.!=.<span
4c6a0 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 20 3c 73 .class="tok-number">2</span>).<s
4c6c0 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
4c6e0 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">..
4c700 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ......<span.class="tok-kw">try</
4c720 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c span>.expect(v);</span>.<span.cl
4c740 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
4c760 61 73 73 3d 22 6c 69 6e 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-
4c780 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 2e 6c 65 6e kw">try</span>.expect(values.len
4c7a0 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 36 3c 2f .==.<span.class="tok-number">6</
4c7c0 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
4c7e0 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</
4c800 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 73 2e 40 26 71 75 6f 74 3b 33 26 71 75 6f span>.expect(values.@&quot;3&quo
4c820 74 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 t;[<span.class="tok-number">0</s
4c840 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 pan>].==.<span.class="tok-str">'
4c860 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 61 73 73 3d 22 h'</span>);</span>.<span.class="
4c880 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
4c8a0 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
4c8c0 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
4c8e0 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
4c900 3e 7a 69 67 20 74 65 73 74 20 74 75 70 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e >zig.test.tuple.zig</kbd></span>
4c920 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 .<span.class="line">1/1.test.&qu
4c940 6f 74 3b 74 75 70 6c 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ot;tuple&quot;....OK</span>.<spa
4c960 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 n.class="line">All.1.tests.passe
4c980 64 2e 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 d.</span>.</samp></pre></figure>
4c9a0 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
4c9c0 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 l>.<li><a.href="#comptime">compt
4c9e0 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 66 69 65 6c 64 ime</a></li>.<li><a.href="#field
4ca00 50 61 72 65 6e 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 61 3e 3c 2f ParentPtr">@fieldParentPtr</a></
4ca20 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 li>.</ul>...............<h2.id="
4ca40 65 6e 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f enum"><a.href="#toc-enum">enum</
4ca60 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 6e 75 6d 22 3e c2 a>.<a.class="hdr".href="#enum">.
4ca80 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 .</a></h2>........<figure><figca
4caa0 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
4cac0 73 3d 22 66 69 6c 65 22 3e 65 6e 75 6d 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 s="file">enums.zig</cite></figca
4cae0 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
4cb00 6e 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</
4cb20 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 2d span>.expect.=.<span.class="tok-
4cb40 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
4cb60 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
4cb80 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 70 pan>).testing.expect;</span>.<sp
4cba0 61 6e 20 63 6c 61 73 73 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
4cbc0 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 63 6c -kw">const</span>.mem.=.<span.cl
4cbe0 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>
4cc00 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
4cc20 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 61 6e &quot;</span>).mem;</span>.<span
4cc40 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
4cc60 73 3d 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
4cc80 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 2f 73 t">//.Declare.an.enum.</span></s
4cca0 70 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
4ccc0 61 73 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 20 3d ass="tok-kw">const</span>.Type.=
4cce0 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
4cd00 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">..
4cd20 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 22 3e ..ok,</span>.<span.class="line">
4cd40 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 3d 22 ....not_ok,</span>.<span.class="
4cd60 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
4cd80 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
4cda0 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 6c 61 pan.class="tok-comment">//.Decla
4cdc0 72 65 20 61 20 73 70 65 63 69 66 69 63 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 74 68 65 20 65 6e re.a.specific.instance.of.the.en
4cde0 75 6d 20 76 61 72 69 61 6e 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 um.variant.</span></span>.<span.
4ce00 63 6c 61 73 73 3d 22 6c 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
4ce20 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 54 79 70 65 2e 6f 6b 3b 3c 2f 73 70 61 ">const</span>.c.=.Type.ok;</spa
4ce40 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
4ce60 70 61 6e 20 63 6c 61 73 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
4ce80 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 79 6f 75 20 77 61 6e 74 20 61 63 63 65 73 73 k-comment">//.If.you.want.access
4cea0 20 74 6f 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 65 6e 75 6d .to.the.ordinal.value.of.an.enum
4cec0 2c 20 79 6f 75 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 ,.you</span></span>.<span.class=
4cee0 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"
4cf00 3e 2f 2f 20 63 61 6e 20 73 70 65 63 69 66 79 20 74 68 65 20 74 61 67 20 74 79 70 65 2e 3c 2f 73 >//.can.specify.the.tag.type.</s
4cf20 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"><
4cf40 73 70 61 6e 20 63 6c 61 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>
4cf60 20 56 61 6c 75 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e .Value.=.<span.class="tok-kw">en
4cf80 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 70 65 22 um</span>(<span.class="tok-type"
4cfa0 3e 75 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 >u2</span>).{</span>.<span.class
4cfc0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7a 65 72 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="line">....zero,</span>.<span.c
4cfe0 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 0a 3c 73 70 61 lass="line">....one,</span>.<spa
4d000 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 61 6e 3e 0a 3c n.class="line">....two,</span>.<
4d020 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
4d040 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
4d060 73 73 3d 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
4d080 6e 74 22 3e 2f 2f 20 4e 6f 77 20 79 6f 75 20 63 61 6e 20 63 61 73 74 20 62 65 74 77 65 65 6e 20 nt">//.Now.you.can.cast.between.
4d0a0 75 32 20 61 6e 64 20 56 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 u2.and.Value.</span></span>.<spa
4d0c0 6e 20 63 6c 61 73 73 3d 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-
4d0e0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 73 74 comment">//.The.ordinal.value.st
4d100 61 72 74 73 20 66 72 6f 6d 20 30 2c 20 63 6f 75 6e 74 69 6e 67 20 75 70 20 66 6f 72 20 65 61 63 arts.from.0,.counting.up.for.eac
4d120 68 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 20 63 6c h.member.</span></span>.<span.cl
4d140 61 73 73 3d 22 6c 69 6e 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">
4d160 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
4d180 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 6f 74 3b ">&quot;enum.ordinal.value&quot;
4d1a0 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
4d1c0 6e 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
4d1e0 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-
4d200 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 builtin">@enumToInt</span>(Value
4d220 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 6e 75 6d 62 65 .zero).==.<span.class="tok-numbe
4d240 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
4d260 3d 22 6c 69 6e 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"
4d280 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="
4d2a0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 tok-builtin">@enumToInt</span>(V
4d2c0 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 22 74 6f 6b 2d 6e 75 alue.one).==.<span.class="tok-nu
4d2e0 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 6c mber">1</span>);</span>.<span.cl
4d300 61 73 73 3d 22 6c 69 6e 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-
4d320 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
4d340 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e s="tok-builtin">@enumToInt</span
4d360 3e 28 56 61 6c 75 65 2e 74 77 6f 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >(Value.two).==.<span.class="tok
4d380 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
4d3a0 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
4d3c0 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
4d3e0 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">/
4d400 2f 20 59 6f 75 20 63 61 6e 20 6f 76 65 72 72 69 64 65 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 /.You.can.override.the.ordinal.v
4d420 61 6c 75 65 20 66 6f 72 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a alue.for.an.enum.</span></span>.
4d440 3c 73 70 61 6e 20 63 6c 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="
4d460 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 32 20 3d 20 3c 73 tok-kw">const</span>.Value2.=.<s
4d480 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 28 3c pan.class="tok-kw">enum</span>(<
4d4a0 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>
4d4c0 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">..
4d4e0 20 20 68 75 6e 64 72 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ..hundred.=.<span.class="tok-num
4d500 62 65 72 22 3e 31 30 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 ber">100</span>,</span>.<span.cl
4d520 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 6f 75 73 61 6e 64 20 3d 20 3c 73 70 61 6e 20 ass="line">....thousand.=.<span.
4d540 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 3e 2c 3c class="tok-number">1000</span>,<
4d560 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6d 69 /span>.<span.class="line">....mi
4d580 6c 6c 69 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 llion.=.<span.class="tok-number"
4d5a0 3e 31 30 30 30 30 30 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 >1000000</span>,</span>.<span.cl
4d5c0 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
4d5e0 3d 22 6c 69 6e 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
4d600 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">&
4d620 71 75 6f 74 3b 73 65 74 20 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 75 6f 74 quot;set.enum.ordinal.value&quot
4d640 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
4d660 69 6e 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
4d680 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
4d6a0 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 -builtin">@enumToInt</span>(Valu
4d6c0 65 32 2e 68 75 6e 64 72 65 64 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e2.hundred).==.<span.class="tok-
4d6e0 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 6e 3e 0a 3c 73 70 61 number">100</span>);</span>.<spa
4d700 6e 20 63 6c 61 73 73 3d 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="
4d720 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 tok-kw">try</span>.expect(<span.
4d740 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f class="tok-builtin">@enumToInt</
4d760 73 70 61 6e 3e 28 56 61 6c 75 65 32 2e 74 68 6f 75 73 61 6e 64 29 20 3d 3d 20 3c 73 70 61 6e 20 span>(Value2.thousand).==.<span.
4d780 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 3e 29 3b class="tok-number">1000</span>);
4d7a0 3c 2f 73 70 61 6e 3e 0a 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">....<
4d7c0 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
4d7e0 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">
4d800 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 32 2e 6d 69 6c 6c 69 6f 6e @enumToInt</span>(Value2.million
4d820 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 ).==.<span.class="tok-number">10
4d840 30 30 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 00000</span>);</span>.<span.clas
4d860 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
4d880 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">
4d8a0 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 6e 75 <span.class="tok-comment">//.Enu
4d8c0 6d 73 20 63 61 6e 20 68 61 76 65 20 6d 65 74 68 6f 64 73 2c 20 74 68 65 20 73 61 6d 65 20 61 73 ms.can.have.methods,.the.same.as
4d8e0 20 73 74 72 75 63 74 73 20 61 6e 64 20 75 6e 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 .structs.and.unions.</span></spa
4d900 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
4d920 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 6e 75 6d 20 6d 65 74 68 6f 64 73 20 s="tok-comment">//.Enum.methods.
4d940 61 72 65 20 6e 6f 74 20 73 70 65 63 69 61 6c 2c 20 74 68 65 79 20 61 72 65 20 6f 6e 6c 79 20 6e are.not.special,.they.are.only.n
4d960 61 6d 65 73 70 61 63 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 amespaced</span></span>.<span.cl
4d980 61 73 73 3d 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
4d9a0 65 6e 74 22 3e 2f 2f 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 ent">//.functions.that.you.can.c
4d9c0 61 6c 6c 20 77 69 74 68 20 64 6f 74 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 all.with.dot.syntax.</span></spa
4d9e0 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
4da00 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 75 69 74 20 3d 20 3c s="tok-kw">const</span>.Suit.=.<
4da20 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>.
4da40 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">....
4da60 63 6c 75 62 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 clubs,</span>.<span.class="line"
4da80 3e 20 20 20 20 73 70 61 64 65 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >....spades,</span>.<span.class=
4daa0 22 6c 69 6e 65 22 3e 20 20 20 20 64 69 61 6d 6f 6e 64 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 "line">....diamonds,</span>.<spa
4dac0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 68 65 61 72 74 73 2c 3c 2f 73 70 61 6e n.class="line">....hearts,</span
4dae0 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
4db00 61 6e 20 63 6c 61 73 73 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=
4db20 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=
4db40 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="
4db60 74 6f 6b 2d 66 6e 22 3e 69 73 43 6c 75 62 73 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 53 75 69 tok-fn">isClubs</span>(self:.Sui
4db80 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f t).<span.class="tok-type">bool</
4dba0 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
4dbc0 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 72 ">........<span.class="tok-kw">r
4dbe0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 20 3d 3d 20 53 75 69 74 2e 63 6c 75 62 73 3b eturn</span>.self.==.Suit.clubs;
4dc00 3c 2f 73 70 61 6e 3e 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">....}
4dc20 3c 2f 73 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
4dc40 70 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
4dc60 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
4dc80 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 6d 65 74 68 6f 64 lass="tok-str">&quot;enum.method
4dca0 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
4dcc0 73 73 3d 22 6c 69 6e 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
4dce0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 20 3d 20 53 75 69 74 2e 73 70 61 64 65 73 3b w">const</span>.p.=.Suit.spades;
4dd00 3c 2f 73 70 61 6e 3e 0a 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">....<
4dd20 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
4dd40 78 70 65 63 74 28 21 70 2e 69 73 43 6c 75 62 73 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 xpect(!p.isClubs());</span>.<spa
4dd60 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
4dd80 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="
4dda0 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">
4ddc0 2f 2f 20 41 6e 20 65 6e 75 6d 20 76 61 72 69 61 6e 74 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 //.An.enum.variant.of.different.
4dde0 74 79 70 65 73 20 63 61 6e 20 62 65 20 73 77 69 74 63 68 65 64 20 75 70 6f 6e 2e 3c 2f 73 70 61 types.can.be.switched.upon.</spa
4de00 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
4de20 61 6e 20 63 6c 61 73 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 an.class="tok-kw">const</span>.F
4de40 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f oo.=.<span.class="tok-kw">enum</
4de60 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
4de80 22 3e 20 20 20 20 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 ">....string,</span>.<span.class
4dea0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ="line">....number,</span>.<span
4dec0 20 63 6c 61 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 .class="line">....none,</span>.<
4dee0 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
4df00 6e 20 63 6c 61 73 73 3d 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-
4df20 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
4df40 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 76 61 72 69 61 6e 74 20 73 77 69 74 63 68 26 -str">&quot;enum.variant.switch&
4df60 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
4df80 73 3d 22 6c 69 6e 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
4dfa0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 20 3d 20 46 6f 6f 2e 6e 75 6d 62 65 72 3b 3c 2f ">const</span>.p.=.Foo.number;</
4dfc0 73 70 61 6e 3e 0a 3c 73 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
4dfe0 61 6e 20 63 6c 61 73 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 an.class="tok-kw">const</span>.w
4e000 68 61 74 5f 69 73 5f 69 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 hat_is_it.=.<span.class="tok-kw"
4e020 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 70 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >switch</span>.(p).{</span>.<spa
4e040 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 2e 73 74 72 69 6e n.class="line">........Foo.strin
4e060 67 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 g.=&gt;.<span.class="tok-str">&q
4e080 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e uot;this.is.a.string&quot;</span
4e0a0 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">...
4e0c0 20 20 20 20 20 46 6f 6f 2e 6e 75 6d 62 65 72 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 .....Foo.number.=&gt;.<span.clas
4e0e0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 75 6d 62 s="tok-str">&quot;this.is.a.numb
4e100 65 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 er&quot;</span>,</span>.<span.cl
4e120 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 46 6f 6f 2e 6e 6f 6e 65 20 3d 26 67 74 ass="line">........Foo.none.=&gt
4e140 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 74 68 ;.<span.class="tok-str">&quot;th
4e160 69 73 20 69 73 20 61 20 6e 6f 6e 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e is.is.a.none&quot;</span>,</span
4e180 3e 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 >.<span.class="line">....};</spa
4e1a0 6e 3e 0a 3c 73 70 61 6e 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.
4e1c0 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
4e1e0 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 3e (mem.eql(<span.class="tok-type">
4e200 75 38 3c 2f 73 70 61 6e 3e 2c 20 77 68 61 74 5f 69 73 5f 69 74 2c 20 3c 73 70 61 6e 20 63 6c 61 u8</span>,.what_is_it,.<span.cla
4e220 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 75 6d ss="tok-str">&quot;this.is.a.num
4e240 62 65 72 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 ber&quot;</span>));</span>.<span
4e260 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
4e280 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
4e2a0 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">/
4e2c0 2f 20 40 74 79 70 65 49 6e 66 6f 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 61 63 63 65 73 /.@typeInfo.can.be.used.to.acces
4e2e0 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 20 6f 66 20 61 6e 20 65 6e 75 s.the.integer.tag.type.of.an.enu
4e300 6d 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 m.</span></span>.<span.class="li
4e320 6e 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</
4e340 73 70 61 6e 3e 20 53 6d 61 6c 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b span>.Small.=.<span.class="tok-k
4e360 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
4e380 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 0a 3c 73 70 61 6e ass="line">....one,</span>.<span
4e3a0 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 61 6e 3e 0a 3c 73 .class="line">....two,</span>.<s
4e3c0 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 2c 3c 2f 73 70 61 pan.class="line">....three,</spa
4e3e0 6e 3e 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 75 72 2c 3c n>.<span.class="line">....four,<
4e400 2f 73 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
4e420 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
4e440 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
4e460 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 2e 6d 65 74 61 2e 54 61 67 ass="tok-str">&quot;std.meta.Tag
4e480 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
4e4a0 73 73 3d 22 6c 69 6e 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
4e4c0 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
4e4e0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 ="tok-builtin">@typeInfo</span>(
4e500 53 6d 61 6c 6c 29 2e 45 6e 75 6d 2e 74 61 67 5f 74 79 70 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c Small).Enum.tag_type.==.<span.cl
4e520 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ass="tok-type">u2</span>);</span
4e540 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
4e560 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
4e580 6c 61 73 73 3d 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
4e5a0 6d 65 6e 74 22 3e 2f 2f 20 40 74 79 70 65 49 6e 66 6f 20 74 65 6c 6c 73 20 75 73 20 74 68 65 20 ment">//.@typeInfo.tells.us.the.
4e5c0 66 69 65 6c 64 20 63 6f 75 6e 74 20 61 6e 64 20 74 68 65 20 66 69 65 6c 64 73 20 6e 61 6d 65 73 field.count.and.the.fields.names
4e5e0 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 69 6e :</span></span>.<span.class="lin
4e600 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
4e620 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;
4e640 40 74 79 70 65 49 6e 66 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a @typeInfo&quot;</span>.{</span>.
4e660 3c 73 70 61 6e 20 63 6c 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
4e680 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
4e6a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 pan.class="tok-builtin">@typeInf
4e6c0 6f 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 29 2e 45 6e 75 6d 2e 66 69 65 6c 64 73 2e 6c 65 6e 20 o</span>(Small).Enum.fields.len.
4e6e0 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 3c 2f 73 ==.<span.class="tok-number">4</s
4e700 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"
4e720 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
4e740 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 3d pan>.expect(mem.eql(<span.class=
4e760 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-type">u8</span>,.<span.clas
4e780 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 3e s="tok-builtin">@typeInfo</span>
4e7a0 28 53 6d 61 6c 6c 29 2e 45 6e 75 6d 2e 66 69 65 6c 64 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d (Small).Enum.fields[<span.class=
4e7c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 2e 6e 61 6d 65 2c 20 3c 73 70 "tok-number">1</span>].name,.<sp
4e7e0 61 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
4e800 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 73 3d t;</span>));</span>.<span.class=
4e820 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
4e840 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
4e860 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 40 74 61 67 4e pan.class="tok-comment">//.@tagN
4e880 61 6d 65 20 67 69 76 65 73 20 61 20 5b 3a 30 5d 63 6f 6e 73 74 20 75 38 20 72 65 70 72 65 73 65 ame.gives.a.[:0]const.u8.represe
4e8a0 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 6e 75 6d 20 76 61 6c 75 65 3a 3c 2f 73 70 61 6e 3e ntation.of.an.enum.value:</span>
4e8c0 3c 2f 73 70 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
4e8e0 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
4e900 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 74 61 67 4e 61 6d 65 n.class="tok-str">&quot;@tagName
4e920 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
4e940 73 73 3d 22 6c 69 6e 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
4e960 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 w">try</span>.expect(mem.eql(<sp
4e980 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>,.<
4e9a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d span.class="tok-builtin">@tagNam
4e9c0 65 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 2e 74 68 72 65 65 29 2c 20 3c 73 70 61 6e 20 63 6c 61 e</span>(Small.three),.<span.cla
4e9e0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 72 65 65 26 71 75 6f 74 3b 3c 2f ss="tok-str">&quot;three&quot;</
4ea00 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
4ea20 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
4ea40 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
4ea60 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
4ea80 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
4eaa0 67 20 74 65 73 74 20 65 6e 75 6d 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 g.test.enums.zig</kbd></span>.<s
4eac0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b pan.class="line">1/7.test.&quot;
4eae0 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f enum.ordinal.value&quot;....OK</
4eb00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 37 20 74 65 73 span>.<span.class="line">2/7.tes
4eb20 74 20 26 71 75 6f 74 3b 73 65 74 20 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 t.&quot;set.enum.ordinal.value&q
4eb40 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uot;....OK</span>.<span.class="l
4eb60 69 6e 65 22 3e 33 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 65 6e 75 6d 20 6d 65 74 68 6f 64 26 ine">3/7.test.&quot;enum.method&
4eb80 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;....OK</span>.<span.class="
4eba0 6c 69 6e 65 22 3e 34 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 65 6e 75 6d 20 76 61 72 69 61 6e line">4/7.test.&quot;enum.varian
4ebc0 74 20 73 77 69 74 63 68 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 t.switch&quot;....OK</span>.<spa
4ebe0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 35 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 73 74 n.class="line">5/7.test.&quot;st
4ec00 64 2e 6d 65 74 61 2e 54 61 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 d.meta.Tag&quot;....OK</span>.<s
4ec20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 36 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b pan.class="line">6/7.test.&quot;
4ec40 40 74 79 70 65 49 6e 66 6f 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 @typeInfo&quot;....OK</span>.<sp
4ec60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 37 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 40 an.class="line">7/7.test.&quot;@
4ec80 74 61 67 4e 61 6d 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e tagName&quot;....OK</span>.<span
4eca0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 37 20 74 65 73 74 73 20 70 61 73 73 65 64 .class="line">All.7.tests.passed
4ecc0 2e 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>.
4ece0 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><
4ed00 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e a.href="#typeInfo">@typeInfo</a>
4ed20 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e 40 74 61 </li>.<li><a.href="#tagName">@ta
4ed40 67 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 69 7a gName</a></li>.<li><a.href="#siz
4ed60 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 eOf">@sizeOf</a></li>.</ul>.....
4ed80 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 3c 61 20 68 72 65 66 ....<h3.id="extern-enum"><a.href
4eda0 3d 22 23 74 6f 63 2d 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 65 78 74 65 72 6e 20 65 6e 75 6d 3c ="#toc-extern-enum">extern.enum<
4edc0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e /a>.<a.class="hdr".href="#extern
4ede0 2d 65 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 -enum">..</a></h3>........<p>...
4ee00 20 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 65 6e 75 6d 73 20 61 72 65 20 6e 6f 74 20 67 75 ....By.default,.enums.are.not.gu
4ee20 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 aranteed.to.be.compatible.with.t
4ee40 68 65 20 43 20 41 42 49 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 he.C.ABI:.......</p>.......<figu
4ee60 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"><
4ee80 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 cite.class="file">test.zig</cite
4eea0 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
4eec0 6c 61 73 73 3d 22 6c 69 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"
4eee0 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=
4ef00 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 20 61 2c 20 62 2c 20 63 20 7d "tok-kw">enum</span>.{.a,.b,.c.}
4ef20 3b 3c 2f 73 70 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
4ef40 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>.<
4ef60 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
4ef80 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>(
4efa0 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"
4efc0 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>
4efe0 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
4f000 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
4f020 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 3c 73 70 61 6e 20 63 l</figcaption><pre><samp><span.c
4f040 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a lass="line">$.<kbd>zig.build-obj
4f060 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .test.zig</kbd></span>.<span.cla
4f080 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 ss="line"><span.class="t0_1">./d
4f0a0 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 32 32 3a 20 3c 2f 73 70 61 6e 3e ocgen_tmp/test.zig:2:22:.</span>
4f0c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 <span.class="t31_1">error:.</spa
4f0e0 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 70 61 72 61 6d 65 74 65 72 20 6f n><span.class="t0_1">parameter.o
4f100 66 20 74 79 70 65 20 27 46 6f 6f 27 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 69 6e 20 66 75 6e 63 f.type.'Foo'.not.allowed.in.func
4f120 74 69 6f 6e 20 77 69 74 68 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 27 43 27 tion.with.calling.convention.'C'
4f140 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
4f160 22 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 64 ">export.fn.entry(foo:.Foo).void
4f180 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 73 .{._.=.foo;.}</span>.<span.class
4f1a0 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 3c 73 70 ="line">.....................<sp
4f1c0 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e an.class="t32_1">^</span></span>
4f1e0 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
4f200 3e 0a 20 20 20 20 20 20 46 6f 72 20 61 20 43 2d 41 42 49 2d 63 6f 6d 70 61 74 69 62 6c 65 20 65 >.......For.a.C-ABI-compatible.e
4f220 6e 75 6d 2c 20 70 72 6f 76 69 64 65 20 61 6e 20 65 78 70 6c 69 63 69 74 20 74 61 67 20 74 79 70 num,.provide.an.explicit.tag.typ
4f240 65 20 74 6f 0a 20 20 20 20 20 20 74 68 65 20 65 6e 75 6d 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a e.to.......the.enum:.......</p>.
4f260 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=
4f280 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
4f2a0 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
4f2c0 6f 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
4f2e0 73 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 20 3c ss="tok-kw">const</span>.Foo.=.<
4f300 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 28 span.class="tok-kw">enum</span>(
4f320 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
4f340 61 6e 3e 29 20 7b 20 61 2c 20 62 2c 20 63 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an>).{.a,.b,.c.};</span>.<span.c
4f360 6c 61 73 73 3d 22 6c 69 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"
4f380 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 6f 6b 2d >export</span>.<span.class="tok-
4f3a0 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
4f3c0 6e 22 3e 65 6e 74 72 79 3c 2f 73 70 61 6e 3e 28 66 6f 6f 3a 20 46 6f 6f 29 20 3c 73 70 61 6e 20 n">entry</span>(foo:.Foo).<span.
4f3e0 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 20 5f class="tok-type">void</span>.{._
4f400 20 3d 20 66 6f 6f 3b 20 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 .=.foo;.}</span></code></pre></f
4f420 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=
4f440 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
4f460 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b re><samp><span.class="line">$.<k
4f480 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c bd>zig.build-obj.test.zig</kbd><
4f4a0 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>...
4f4c0 20 20 20 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 ............<h3.id="Enum-Literal
4f4e0 73 22 3e 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 s"><a.href="#toc-Enum-Literals">
4f500 45 6e 75 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 Enum.Literals</a>.<a.class="hdr"
4f520 20 68 72 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 .href="#Enum-Literals">..</a></h
4f540 33 3e 0a 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 3>........<p>.......Enum.literal
4f560 73 20 61 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 s.allow.specifying.the.name.of.a
4f580 6e 20 65 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 n.enum.field.without.specifying.
4f5a0 74 68 65 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 the.enum.type:.......</p>.......
4f5c0 3c 66 69 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
4f5e0 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 6e 75 6d ap"><cite.class="file">test_enum
4f600 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e _literals.zig</cite></figcaption
4f620 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"><
4f640 73 70 61 6e 20 63 6c 61 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>
4f660 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"
4f680 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
4f6a0 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>);</
4f6c0 73 70 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
4f6e0 6c 61 73 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
4f700 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>.<
4f720 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.
4f740 63 6c 61 73 73 3d 22 6c 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
4f760 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ">const</span>.Color.=.<span.cla
4f780 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>
4f7a0 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 74 6f 2c 3c 2f 73 .<span.class="line">....auto,</s
4f7c0 70 61 6e 3e 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 pan>.<span.class="line">....off,
4f7e0 3c 2f 73 70 61 6e 3e 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
4f800 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 65 22 3e 7d 3b 3c n,</span>.<span.class="line">};<
4f820 2f 73 70 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
4f840 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
4f860 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
4f880 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 65 72 61 6c 73 26 s="tok-str">&quot;enum.literals&
4f8a0 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
4f8c0 73 3d 22 6c 69 6e 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
4f8e0 22 3e 63 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 ">const</span>.color1:.Color.=..
4f900 61 75 74 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 auto;</span>.<span.class="line">
4f920 20 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</
4f940 73 70 61 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 span>.color2.=.Color.auto;</span
4f960 3e 0a 3c 73 70 61 6e 20 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
4f980 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(
4f9a0 63 6f 6c 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 color1.==.color2);</span>.<span.
4f9c0 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
4f9e0 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
4fa00 6e 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
4fa20 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
4fa40 3b 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 26 71 75 6f 74 ;switch.using.enum.literals&quot
4fa60 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
4fa80 69 6e 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
4faa0 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 6e 3b 3c 2f 73 70 nst</span>.color.=.Color.on;</sp
4fac0 61 6e 3e 0a 3c 73 70 61 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
4fae0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 .class="tok-kw">const</span>.res
4fb00 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 73 77 69 74 63 ult.=.<span.class="tok-kw">switc
4fb20 68 3c 2f 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 h</span>.(color).{</span>.<span.
4fb40 63 6c 61 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 class="line">.........auto.=&gt;
4fb60 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 .<span.class="tok-null">false</s
4fb80 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">
4fba0 20 20 20 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 .........on.=&gt;.<span.class="t
4fbc0 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 61 6e 3e 0a 3c 73 70 ok-null">true</span>,</span>.<sp
4fbe0 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 6f 66 66 20 3d 26 67 an.class="line">.........off.=&g
4fc00 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c t;.<span.class="tok-null">false<
4fc20 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
4fc40 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
4fc60 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<
4fc80 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 3c 73 /span>.expect(result);</span>.<s
4fca0 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>
4fcc0 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
4fce0 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
4fd00 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><samp><span.class="l
4fd20 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 6e 75 6d 5f 6c ine">$.<kbd>zig.test.test_enum_l
4fd40 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 iterals.zig</kbd></span>.<span.c
4fd60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 65 6e 75 6d 20 lass="line">1/2.test.&quot;enum.
4fd80 6c 69 74 65 72 61 6c 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 literals&quot;....OK</span>.<spa
4fda0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 73 77 n.class="line">2/2.test.&quot;sw
4fdc0 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 2e 2e itch.using.enum.literals&quot;..
4fde0 2e 20 4f 4b 3c 2f 73 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 ..OK</span>.<span.class="line">A
4fe00 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 ll.2.tests.passed.</span>.</samp
4fe20 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c ></pre></figure>...............<
4fe40 68 33 20 69 64 3d 22 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 3e 3c 61 20 68 h3.id="Non-exhaustive-enum"><a.h
4fe60 72 65 66 3d 22 23 74 6f 63 2d 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 3e 4e ref="#toc-Non-exhaustive-enum">N
4fe80 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d on-exhaustive.enum</a>.<a.class=
4fea0 22 68 64 72 22 20 68 72 65 66 3d 22 23 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d "hdr".href="#Non-exhaustive-enum
4fec0 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 ">..</a></h3>........<p>.......A
4fee0 20 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 20 63 61 6e 20 62 65 20 63 72 65 61 .Non-exhaustive.enum.can.be.crea
4ff00 74 65 64 20 62 79 20 61 64 64 69 6e 67 20 61 20 74 72 61 69 6c 69 6e 67 20 27 5f 27 20 66 69 65 ted.by.adding.a.trailing.'_'.fie
4ff20 6c 64 2e 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 ld........It..must.specify.a.tag
4ff40 20 74 79 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 .type.and.cannot.consume.every.e
4ff60 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 numeration.value........</p>....
4ff80 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 6e 75 6d ...<p>.......<a.href="#intToEnum
4ffa0 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 3e 20 6f 6e 20 61 20 6e 6f 6e 2d 65 78 68 61 75 73 ">@intToEnum</a>.on.a.non-exhaus
4ffc0 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 65 tive.enum.involves.the.safety.se
4ffe0 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 61 mantics.......of.<a.href="#intCa
50000 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 20 st">@intCast</a>.to.the.integer.
50020 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 73 tag.type,.but.beyond.that.always
50040 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 64 .results.in.......a.well-defined
50060 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 70 .enum.value........</p>.......<p
50080 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 73 >.......A.switch.on.a.non-exhaus
500a0 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 6e tive.enum.can.include.a.'_'.pron
500c0 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 3e g.as.an.alternative.to.an.<code>
500e0 3c 73 70 61 6e 20 63 6c 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="
50100 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 65 tok-kw">else</span></span></code
50120 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 63 >.prong.......with.the.differenc
50140 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 69 e.being.that.it.makes.it.a.compi
50160 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 61 le.error.if.all.the.known.tag.na
50180 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 63 mes.are.not.handled.by.the.switc
501a0 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 67 h........</p>.......<figure><fig
501c0 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
501e0 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 75 ass="file">test_switch_non-exhau
50200 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 72 stive.zig</cite></figcaption><pr
50220 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
50240 20 63 6c 61 73 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
50260 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
50280 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
502a0 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
502c0 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
502e0 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.=.
50300 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
50320 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
50340 73 3d 22 6c 69 6e 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
50360 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d nst</span>.Number.=.<span.class=
50380 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 73 "tok-kw">enum</span>(<span.class
503a0 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 0a ="tok-type">u8</span>).{</span>.
503c0 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 61 <span.class="line">....one,</spa
503e0 6e 3e 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 n>.<span.class="line">....two,</
50400 73 70 61 6e 3e 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
50420 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 20 ee,</span>.<span.class="line">..
50440 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 7d .._,</span>.<span.class="line">}
50460 3b 3c 2f 73 70 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
50480 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
504a0 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
504c0 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 6f ass="tok-str">&quot;switch.on.no
504e0 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 7b n-exhaustive.enum&quot;</span>.{
50500 3c 2f 73 70 61 6e 3e 0a 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">....<
50520 73 70 61 6e 20 63 6c 61 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>
50540 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 70 .number.=.Number.one;</span>.<sp
50560 61 6e 20 63 6c 61 73 73 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=
50580 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 3c "tok-kw">const</span>.result.=.<
505a0 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
505c0 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 3d >.(number).{</span>.<span.class=
505e0 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 20 "line">.........one.=&gt;.<span.
50600 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 73 class="tok-null">true</span>,</s
50620 70 61 6e 3e 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">........
50640 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 3e .two,</span>.<span.class="line">
50660 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 73 .........three.=&gt;.<span.class
50680 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 3e ="tok-null">false</span>,</span>
506a0 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 26 .<span.class="line">........_.=&
506c0 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 gt;.<span.class="tok-null">false
506e0 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
50700 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
50720 6e 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
50740 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 3c </span>.expect(result);</span>.<
50760 73 70 61 6e 20 63 6c 61 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
50780 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 3d s="tok-kw">const</span>.is_one.=
507a0 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
507c0 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 73 an>.(number).{</span>.<span.clas
507e0 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 61 s="line">.........one.=&gt;.<spa
50800 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 3c n.class="tok-null">true</span>,<
50820 2f 73 70 61 6e 3e 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">......
50840 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 ..<span.class="tok-kw">else</spa
50860 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e n>.=&gt;.<span.class="tok-null">
50880 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
508a0 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
508c0 73 3d 22 6c 69 6e 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
508e0 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 70 ">try</span>.expect(is_one);</sp
50900 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><
50920 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
50940 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
50960 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><samp><span.cl
50980 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f ass="line">$.<kbd>zig.test.test_
509a0 73 77 69 74 63 68 5f 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c switch_non-exhaustive.zig</kbd><
509c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 /span>.<span.class="line">1/1.te
509e0 73 74 20 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 st.&quot;switch.on.non-exhaustiv
50a00 65 20 65 6e 75 6d 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 e.enum&quot;....OK</span>.<span.
50a20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e class="line">All.1.tests.passed.
50a40 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
50a60 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 75 6e 69 6f ....................<h2.id="unio
50a80 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 6e 69 6f 6e 3c 2f 61 n"><a.href="#toc-union">union</a
50aa0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e c2 >.<a.class="hdr".href="#union">.
50ac0 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 62 61 .</a></h2>........<p>.......A.ba
50ae0 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 3e 3c 73 70 61 re.<code><span.class="line"><spa
50b00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 n.class="tok-kw">union</span></s
50b20 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 20 6f 66 20 70 6f 73 pan></code>.defines.a.set.of.pos
50b40 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 20 20 20 20 20 20 63 sible.types.that.a.value.......c
50b60 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 2e 20 4f 6e 6c 79 20 an.be.as.a.list.of.fields..Only.
50b80 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 74 20 61 20 74 69 6d one.field.can.be.active.at.a.tim
50ba0 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 70 72 65 73 65 6e 74 e........The.in-memory.represent
50bc0 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 6f 74 20 67 75 61 72 ation.of.bare.unions.is.not.guar
50be0 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 20 63 61 6e 6e 6f 74 anteed........Bare.unions.cannot
50c00 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 65 6d 6f 72 79 2e 20 .be.used.to.reinterpret.memory..
50c20 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 74 72 43 61 73 74 22 For.that,.use.<a.href="#ptrCast"
50c40 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 73 65 20 61 6e 20 3c >@ptrCast</a>,.......or.use.an.<
50c60 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 75 6e a.href="#extern-union">extern.un
50c80 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 63 6b 65 64 2d 75 6e ion</a>.or.a.<a.href="#packed-un
50ca0 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 63 68 20 68 61 76 65 ion">packed.union</a>.which.have
50cc0 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 72 79 20 6c 61 79 6f .......guaranteed.in-memory.layo
50ce0 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 2d 55 6e 69 6f 6e 2d ut........<a.href="#Wrong-Union-
50d00 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 68 65 20 6e 6f 6e 2d Field-Access">Accessing.the.non-
50d20 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 20 73 61 66 65 74 79 active.field</a>.is.......safety
50d40 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 65 68 -checked.<a.href="#Undefined-Beh
50d60 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 3a 0a 20 avior">Undefined.Behavior</a>:..
50d80 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
50da0 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=
50dc0 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 "file">test.zig</cite></figcapti
50de0 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"
50e00 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
50e20 6e 3e 20 50 61 79 6c 6f 61 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n>.Payload.=.<span.class="tok-kw
50e40 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 63 6c ">union</span>.{</span>.<span.cl
50e60 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 63 6c 61 73 73 3d ass="line">....int:.<span.class=
50e80 22 74 6f 6b 2d 74 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 "tok-type">i64</span>,</span>.<s
50ea0 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
50ec0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f n.class="tok-type">f64</span>,</
50ee0 73 70 61 6e 3e 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 6f 6f span>.<span.class="line">....boo
50f00 6c 65 61 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f lean:.<span.class="tok-type">boo
50f20 6c 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 l</span>,</span>.<span.class="li
50f40 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"
50f60 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
50f80 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 69 >.<span.class="tok-str">&quot;si
50fa0 6d 70 6c 65 20 75 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 mple.union&quot;</span>.{</span>
50fc0 0a 3c 73 70 61 6e 20 63 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
50fe0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 61 79 6c 6f 61 64 20 ass="tok-kw">var</span>.payload.
51000 3d 20 50 61 79 6c 6f 61 64 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 =.Payload{..int.=.<span.class="t
51020 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e ok-number">1234</span>.};</span>
51040 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 61 64 2e .<span.class="line">....payload.
51060 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 float.=.<span.class="tok-number"
51080 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 6e 20 63 6c 61 73 >12.34</span>;</span>.<span.clas
510a0 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></
510c0 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
510e0 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><
51100 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
51120 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 kbd>zig.test.test.zig</kbd></spa
51140 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 n>.<span.class="line">1/1.test.&
51160 71 75 6f 74 3b 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 quot;simple.union&quot;....threa
51180 64 20 31 34 32 37 34 39 37 20 70 61 6e 69 63 3a 20 61 63 63 65 73 73 20 6f 66 20 69 6e 61 63 74 d.1427497.panic:.access.of.inact
511a0 69 76 65 20 75 6e 69 6f 6e 20 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ive.union.field</span>.<span.cla
511c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f ss="line"><span.class="t1_0">/ho
511e0 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e me/andy/tmp/zig/docgen_tmp/test.
51200 7a 69 67 3a 38 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 zig:8:12</span>:.<span.class="t2
51220 5f 30 22 3e 30 78 32 30 37 38 64 62 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 73 69 6d 70 6c _0">0x2078db.in.test.&quot;simpl
51240 65 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 e.union&quot;.(test)</span></spa
51260 6e 3e 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 61 n>.<span.class="line">....payloa
51280 64 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d.float.=.12.34;</span>.<span.cl
512a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ass="line">...........<span.clas
512c0 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="t32_1">^</span></span>.<span.
512e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e class="line"><span.class="t1_0">
51300 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 /home/andy/tmp/zig/lib/std/speci
51320 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 38 30 3a 32 38 3c 2f 73 70 61 6e 3e 3a al/test_runner.zig:80:28</span>:
51340 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 66 31 34 33 20 69 6e 20 .<span.class="t2_0">0x22f143.in.
51360 73 74 64 2e 73 70 65 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f std.special.main.(test)</span></
51380 73 70 61 6e 3e 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">.......
513a0 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c .}.else.test_fn.func();</span>.<
513c0 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">..............
513e0 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 33 32 5f 31 22 .............<span.class="t32_1"
51400 3e 5e 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
51420 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 ne"><span.class="t1_0">/home/and
51440 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a y/tmp/zig/lib/std/start.zig:551:
51460 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 22</span>:.<span.class="t2_0">0x
51480 32 32 38 34 62 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 2284bc.in.std.start.callMain.(te
514a0 73 74 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 73 73 3d 22 6c st)</span></span>.<span.class="l
514c0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 ine">............root.main();</s
514e0 70 61 6e 3e 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">........
51500 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 33 32 5f 31 22 .............<span.class="t32_1"
51520 3e 5e 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
51540 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 ne"><span.class="t1_0">/home/and
51560 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a y/tmp/zig/lib/std/start.zig:495:
51580 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 12</span>:.<span.class="t2_0">0x
515a0 32 30 39 30 66 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 2090fe.in.std.start.callMainWith
515c0 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 Args.(test)</span></span>.<span.
515e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b class="line">....return.@call(.{
51600 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 ..modifier.=..always_inline.},.c
51620 61 6c 6c 4d 61 69 6e 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 allMain,..{});</span>.<span.clas
51640 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d s="line">...........<span.class=
51660 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "t32_1">^</span></span>.<span.cl
51680 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 ass="line"><span.class="t1_0">/h
516a0 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a ome/andy/tmp/zig/lib/std/start.z
516c0 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ig:409:17</span>:.<span.class="t
516e0 32 5f 30 22 3e 30 78 32 30 38 31 39 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 2_0">0x208196.in.std.start.posix
51700 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 CallMainAndExit.(test)</span></s
51720 70 61 6e 3e 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 pan>.<span.class="line">....std.
51740 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c os.exit(@call(.{..modifier.=..al
51760 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c ways_inline.},.callMainWithArgs,
51780 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e ..{.argc,.argv,.envp.}));</span>
517a0 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">............
517c0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e ....<span.class="t32_1">^</span>
517e0 3c 2f 73 70 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
51800 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 .class="t1_0">/home/andy/tmp/zig
51820 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a /lib/std/start.zig:322:5</span>:
51840 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 66 61 32 20 69 6e 20 .<span.class="t2_0">0x207fa2.in.
51860 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f std.start._start.(test)</span></
51880 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 span>.<span.class="line">....@ca
518a0 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 ll(.{..modifier.=..never_inline.
518c0 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f },.posixCallMainAndExit,..{});</
518e0 73 70 61 6e 3e 0a 3c 73 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
51900 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e an.class="t32_1">^</span></span>
51920 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 .<span.class="line">error:.the.f
51940 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f ollowing.test.command.crashed:</
51960 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 67 65 6e 5f span>.<span.class="line">docgen_
51980 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 36 34 33 64 30 38 66 31 61 63 tmp/zig-cache/o/e62d5b643d08f1ac
519a0 62 62 31 33 38 36 64 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 bb1386db92eb0f23/test./home/andy
519c0 2f 74 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 3c 2f 73 70 61 6e /tmp/zig/build-release/zig</span
519e0 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>.......<
51a00 70 3e 59 6f 75 20 63 61 6e 20 61 63 74 69 76 61 74 65 20 61 6e 6f 74 68 65 72 20 66 69 65 6c 64 p>You.can.activate.another.field
51a20 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 68 65 20 65 6e 74 69 72 65 20 75 6e 69 6f 6e 3a 3c .by.assigning.the.entire.union:<
51a40 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
51a60 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"
51a80 3e 74 65 73 74 5f 73 69 6d 70 6c 65 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 >test_simple_union.zig</cite></f
51aa0 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
51ac0 3d 22 6c 69 6e 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
51ae0 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
51b00 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
51b20 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;</
51b40 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
51b60 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
51b80 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;
51ba0 3c 2f 73 70 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
51bc0 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
51be0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 61 79 6c 6f 61 64 20 s="tok-kw">const</span>.Payload.
51c00 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
51c20 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">
51c40 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 79 70 65 22 3e ....int:.<span.class="tok-type">
51c60 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 61 73 73 3d 22 i64</span>,</span>.<span.class="
51c80 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 22 74 6f line">....float:.<span.class="to
51ca0 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 3c 73 70 61 6e k-type">f64</span>,</span>.<span
51cc0 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 61 6e .class="line">....boolean:.<span
51ce0 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 3c 2f .class="tok-type">bool</span>,</
51d00 73 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
51d20 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
51d40 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
51d60 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 26 ss="tok-str">&quot;simple.union&
51d80 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
51da0 73 3d 22 6c 69 6e 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
51dc0 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 6f 61 64 7b 20 ">var</span>.payload.=.Payload{.
51de0 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 3e .int.=.<span.class="tok-number">
51e00 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 20 63 6c 61 73 1234</span>.};</span>.<span.clas
51e20 73 3d 22 6c 69 6e 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
51e40 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 61 79 6c 6f 61 64 2e 69 6e 74 20 ">try</span>.expect(payload.int.
51e60 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
51e80 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
51ea0 6e 65 22 3e 20 20 20 20 70 61 79 6c 6f 61 64 20 3d 20 50 61 79 6c 6f 61 64 7b 20 2e 66 6c 6f 61 ne">....payload.=.Payload{..floa
51ec0 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 31 32 2e t.=.<span.class="tok-number">12.
51ee0 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 63 6c 61 73 73 3d 34</span>.};</span>.<span.class=
51f00 22 6c 69 6e 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">
51f20 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 61 79 6c 6f 61 64 2e 66 6c 6f 61 74 20 try</span>.expect(payload.float.
51f40 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 2e 33 ==.<span.class="tok-number">12.3
51f60 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 3d 22 6c 4</span>);</span>.<span.class="l
51f80 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
51fa0 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
51fc0 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>
51fe0 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e <samp><span.class="line">$.<kbd>
52000 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</
52020 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 kbd></span>.<span.class="line">1
52040 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 26 71 75 6f 74 3b /1.test.&quot;simple.union&quot;
52060 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....OK</span>.<span.class="line"
52080 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 >All.1.tests.passed.</span>.</sa
520a0 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>....
520c0 20 20 20 49 6e 20 6f 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 ...In.order.to.use.<a.href="#swi
520e0 74 63 68 22 3e 73 77 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 tch">switch</a>.with.a.union,.it
52100 20 6d 75 73 74 20 62 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 .must.be.a.<a.href="#Tagged-unio
52120 6e 22 3e 54 61 67 67 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 n">Tagged.union</a>........</p>.
52140 20 20 20 20 20 20 3c 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 ......<p>.......To.initialize.a.
52160 75 6e 69 6f 6e 20 77 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 union.when.the.tag.is.a.<a.href=
52180 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 6e "#comptime">comptime</a>-known.n
521a0 61 6d 65 2c 20 73 65 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 ame,.see.<a.href="#unionInit">@u
521c0 6e 69 6f 6e 49 6e 69 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 nionInit</a>........</p>........
521e0 3c 68 33 20 69 64 3d 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 <h3.id="Tagged-union"><a.href="#
52200 74 6f 63 2d 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 toc-Tagged-union">Tagged.union</
52220 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 67 67 65 64 2d a>.<a.class="hdr".href="#Tagged-
52240 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 55 6e 69 union">..</a></h3>........<p>Uni
52260 6f 6e 73 20 63 61 6e 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 ons.can.be.declared.with.an.enum
52280 20 74 61 67 20 74 79 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 .tag.type........This.turns.the.
522a0 75 6e 69 6f 6e 20 69 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 union.into.a.<em>tagged</em>.uni
522c0 6f 6e 2c 20 77 68 69 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 on,.which.makes.it.eligible.....
522e0 20 20 74 6f 20 75 73 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 ..to.use.with.<a.href="#switch">
52300 73 77 69 74 63 68 3c 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 switch</a>.expressions........Ta
52320 67 67 65 64 20 75 6e 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 gged.unions.coerce.to.their.tag.
52340 74 79 70 65 3a 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e type:.<a.href="#Type-Coercion-un
52360 69 6f 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 75 ions-and-enums">Type.Coercion:.u
52380 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a nions.and.enums</a>........</p>.
523a0 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=
523c0 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
523e0 74 5f 73 77 69 74 63 68 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e t_switch_tagged_union.zig</cite>
52400 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
52420 61 73 73 3d 22 6c 69 6e 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">
52440 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="
52460 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
52480 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
524a0 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
524c0 69 6e 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<
524e0 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
52500 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"></
52520 73 70 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
52540 6c 61 73 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 6d 70 6c lass="tok-kw">const</span>.Compl
52560 65 78 54 79 70 65 54 61 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 exTypeTag.=.<span.class="tok-kw"
52580 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
525a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c s="line">....ok,</span>.<span.cl
525c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 74 5f 6f 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ass="line">....not_ok,</span>.<s
525e0 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
52600 20 63 6c 61 73 73 3d 22 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
52620 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6d 70 6c 65 78 54 79 70 65 20 3d 20 3c 73 w">const</span>.ComplexType.=.<s
52640 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 61 6e 3e 28 pan.class="tok-kw">union</span>(
52660 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ComplexTypeTag).{</span>.<span.c
52680 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">....ok:.<span.class=
526a0 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
526c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 74 5f 6f 6b 3a 20 3c 73 70 61 an.class="line">....not_ok:.<spa
526e0 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 2c 3c n.class="tok-type">void</span>,<
52700 2f 73 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
52720 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>.<
52740 73 70 61 6e 20 63 6c 61 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
52760 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="
52780 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 64 20 tok-str">&quot;switch.on.tagged.
527a0 75 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 union&quot;</span>.{</span>.<spa
527c0 6e 20 63 6c 61 73 73 3d 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="
527e0 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 43 6f 6d 70 6c 65 78 tok-kw">const</span>.c.=.Complex
52800 54 79 70 65 7b 20 2e 6f 6b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d Type{..ok.=.<span.class="tok-num
52820 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
52840 6c 61 73 73 3d 22 6c 69 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
52860 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
52880 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 43 6f 6d 70 ss="tok-builtin">@as</span>(Comp
528a0 6c 65 78 54 79 70 65 54 61 67 2c 20 63 29 20 3d 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 lexTypeTag,.c).==.ComplexTypeTag
528c0 2e 6f 6b 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 .ok);</span>.<span.class="line">
528e0 3c 2f 73 70 61 6e 3e 0a 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">....<
52900 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
52920 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 6c 69 6e 65 >.(c).{</span>.<span.class="line
52940 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 3d 26 67 74 ">........ComplexTypeTag.ok.=&gt
52960 3b 20 7c 76 61 6c 75 65 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ;.|value|.<span.class="tok-kw">t
52980 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 ry</span>.expect(value.==.<span.
529a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 29 2c 3c 2f class="tok-number">42</span>),</
529c0 73 70 61 6e 3e 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">.......
529e0 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6e 6f 74 5f 6f 6b 20 3d 26 67 74 3b 20 3c 73 70 .ComplexTypeTag.not_ok.=&gt;.<sp
52a00 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 73 an.class="tok-kw">unreachable</s
52a20 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">
52a40 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">
52a60 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
52a80 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
52aa0 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
52ac0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 65 74 20 74 61 67 20 74 79 70 65 ass="tok-str">&quot;get.tag.type
52ae0 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
52b00 73 73 3d 22 6c 69 6e 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
52b20 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 74 61 2e 54 61 w">try</span>.expect(std.meta.Ta
52b40 67 28 43 6f 6d 70 6c 65 78 54 79 70 65 29 20 3d 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 g(ComplexType).==.ComplexTypeTag
52b60 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">}</
52b80 73 70 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>
52ba0 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=
52bc0 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
52be0 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 65 6e 75 6d 26 ="tok-str">&quot;coerce.to.enum&
52c00 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
52c20 73 3d 22 6c 69 6e 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
52c40 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 31 20 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 7b ">const</span>.c1.=.ComplexType{
52c60 20 2e 6f 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 ..ok.=.<span.class="tok-number">
52c80 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 3d 42</span>.};</span>.<span.class=
52ca0 22 6c 69 6e 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">
52cc0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 32 20 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 2e 6e 6f const</span>.c2.=.ComplexType.no
52ce0 74 5f 6f 6b 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e t_ok;</span>.<span.class="line">
52d00 3c 2f 73 70 61 6e 3e 0a 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">....<
52d20 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
52d40 78 70 65 63 74 28 63 31 20 3d 3d 20 2e 6f 6b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 xpect(c1.==..ok);</span>.<span.c
52d60 6c 61 73 73 3d 22 6c 69 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
52d80 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 32 20 3d 3d 20 2e 6e 6f -kw">try</span>.expect(c2.==..no
52da0 74 5f 6f 6b 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 t_ok);</span>.<span.class="line"
52dc0 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><
52de0 66 69 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-
52e00 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
52e20 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
52e40 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 test.test_switch_tagged_union.zi
52e60 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
52e80 22 3e 31 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 ">1/3.test.&quot;switch.on.tagge
52ea0 64 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e d.union&quot;....OK</span>.<span
52ec0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 67 65 74 .class="line">2/3.test.&quot;get
52ee0 20 74 61 67 20 74 79 70 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .tag.type&quot;....OK</span>.<sp
52f00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 63 an.class="line">3/3.test.&quot;c
52f20 6f 65 72 63 65 20 74 6f 20 65 6e 75 6d 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e oerce.to.enum&quot;....OK</span>
52f40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 33 20 74 65 73 74 73 20 .<span.class="line">All.3.tests.
52f60 70 61 73 73 65 64 2e 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 passed.</span>.</samp></pre></fi
52f80 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 64 69 66 gure>.......<p>In.order.to.modif
52fa0 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 6f 6e 20 y.the.payload.of.a.tagged.union.
52fc0 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 20 70 6c in.a.switch.expression,.......pl
52fe0 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 22 3e 2a ace.a.<code><span.class="line">*
53000 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 69 61 62 </span></code>.before.the.variab
53020 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 0a 20 20 le.name.to.make.it.a.pointer:...
53040 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
53060 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="
53080 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 65 64 5f file">test_switch_modify_tagged_
530a0 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
530c0 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
530e0 20 63 6c 61 73 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
53100 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
53120 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
53140 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
53160 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
53180 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.=.
531a0 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
531c0 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
531e0 73 3d 22 6c 69 6e 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
53200 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 70 61 nst</span>.ComplexTypeTag.=.<spa
53220 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 2f n.class="tok-kw">enum</span>.{</
53240 73 70 61 6e 3e 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 6b 2c span>.<span.class="line">....ok,
53260 3c 2f 73 70 61 6e 3e 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 </span>.<span.class="line">....n
53280 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 65 22 ot_ok,</span>.<span.class="line"
532a0 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
532c0 70 61 6e 20 63 6c 61 73 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>.
532e0 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 2d 6b ComplexType.=.<span.class="tok-k
53300 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 29 20 w">union</span>(ComplexTypeTag).
53320 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">....
53340 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 2f 73 ok:.<span.class="tok-type">u8</s
53360 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">
53380 20 20 20 20 6e 6f 74 5f 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ....not_ok:.<span.class="tok-typ
533a0 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 6c 61 e">void</span>,</span>.<span.cla
533c0 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=
533e0 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
53400 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
53420 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 6d n>.<span.class="tok-str">&quot;m
53440 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 71 75 6f odify.tagged.union.in.switch&quo
53460 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="
53480 6c 69 6e 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
534a0 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 6b 20 3d ar</span>.c.=.ComplexType{..ok.=
534c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 .<span.class="tok-number">42</sp
534e0 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"
53500 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
53520 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
53540 6c 74 69 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 ltin">@as</span>(ComplexTypeTag,
53560 20 63 29 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 .c).==.ComplexTypeTag.ok);</span
53580 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
535a0 61 6e 20 63 6c 61 73 73 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=
535c0 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 3c 2f 73 70 "tok-kw">switch</span>.(c).{</sp
535e0 61 6e 3e 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
53600 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6f 6b 20 3d 26 67 74 3b 20 7c 2a 76 61 6c 75 65 7c 20 omplexTypeTag.ok.=&gt;.|*value|.
53620 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 6f 6b 2d 6e 75 6d 62 value.*.+=.<span.class="tok-numb
53640 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 73 73 er">1</span>,</span>.<span.class
53660 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 67 2e 6e ="line">........ComplexTypeTag.n
53680 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 6b 77 22 ot_ok.=&gt;.<span.class="tok-kw"
536a0 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 70 61 >unreachable</span>,</span>.<spa
536c0 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
536e0 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
53700 73 73 3d 22 6c 69 6e 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
53720 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 2e 6f 6b 20 3d 3d 20 3c 73 70 w">try</span>.expect(c.ok.==.<sp
53740 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 33 3c 2f 73 70 61 6e 3e 29 an.class="tok-number">43</span>)
53760 3b 3c 2f 73 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
53780 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
537a0 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">
537c0 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 3c 73 70 Shell</figcaption><pre><samp><sp
537e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 an.class="line">$.<kbd>zig.test.
53800 74 65 73 74 5f 73 77 69 74 63 68 5f 6d 6f 64 69 66 79 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e test_switch_modify_tagged_union.
53820 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 zig</kbd></span>.<span.class="li
53840 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6d 6f 64 69 66 79 20 74 61 67 67 65 64 ne">1/1.test.&quot;modify.tagged
53860 20 75 6e 69 6f 6e 20 69 6e 20 73 77 69 74 63 68 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 .union.in.switch&quot;....OK</sp
53880 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 an>.<span.class="line">All.1.tes
538a0 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c ts.passed.</span>.</samp></pre><
538c0 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 6e 69 6f 6e 73 20 /figure>.......<p>.......Unions.
538e0 63 61 6e 20 62 65 20 6d 61 64 65 20 74 6f 20 69 6e 66 65 72 20 74 68 65 20 65 6e 75 6d 20 74 61 can.be.made.to.infer.the.enum.ta
53900 67 20 74 79 70 65 2e 0a 20 20 20 20 20 20 46 75 72 74 68 65 72 2c 20 75 6e 69 6f 6e 73 20 63 61 g.type........Further,.unions.ca
53920 6e 20 68 61 76 65 20 6d 65 74 68 6f 64 73 20 6a 75 73 74 20 6c 69 6b 65 20 73 74 72 75 63 74 73 n.have.methods.just.like.structs
53940 20 61 6e 64 20 65 6e 75 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 .and.enums........</p>.......<fi
53960 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"
53980 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e 69 6f 6e 5f 6d ><cite.class="file">test_union_m
539a0 65 74 68 6f 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 ethod.zig</cite></figcaption><pr
539c0 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
539e0 20 63 6c 61 73 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
53a00 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
53a20 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
53a40 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
53a60 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
53a80 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.=.
53aa0 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
53ac0 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
53ae0 73 3d 22 6c 69 6e 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
53b00 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 61 72 69 61 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 nst</span>.Variant.=.<span.class
53b20 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ="tok-kw">union</span>(<span.cla
53b40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e ss="tok-kw">enum</span>).{</span
53b60 3e 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
53b80 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 2c pan.class="tok-type">i32</span>,
53ba0 3c 2f 73 70 61 6e 3e 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
53bc0 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 79 70 65 22 3e 62 oolean:.<span.class="tok-type">b
53be0 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 6c 61 73 73 3d 22 ool</span>,</span>.<span.class="
53c00 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"
53c20 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">/
53c40 2f 20 76 6f 69 64 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 77 68 65 6e 20 69 6e 66 65 72 /.void.can.be.omitted.when.infer
53c60 72 69 6e 67 20 65 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 ring.enum.tag.type.</span></span
53c80 3e 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 6f 6e 65 2c 3c 2f >.<span.class="line">....none,</
53ca0 73 70 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>
53cc0 0a 3c 73 70 61 6e 20 63 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
53ce0 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
53d00 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 72 75 74 68 79 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 ss="tok-fn">truthy</span>(self:.
53d20 56 61 72 69 61 6e 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e Variant).<span.class="tok-type">
53d40 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 6e 20 63 6c 61 73 73 bool</span>.{</span>.<span.class
53d60 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
53d80 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="
53da0 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 73 65 6c 66 29 20 7b 3c 2f tok-kw">switch</span>.(self).{</
53dc0 73 70 61 6e 3e 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">.......
53de0 20 20 20 20 20 56 61 72 69 61 6e 74 2e 69 6e 74 20 3d 26 67 74 3b 20 7c 78 5f 69 6e 74 7c 20 78 .....Variant.int.=&gt;.|x_int|.x
53e00 5f 69 6e 74 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 _int.!=.<span.class="tok-number"
53e20 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 3d 22 6c >0</span>,</span>.<span.class="l
53e40 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 62 6f 6f 6c 65 61 6e ine">............Variant.boolean
53e60 20 3d 26 67 74 3b 20 7c 78 5f 62 6f 6f 6c 7c 20 78 5f 62 6f 6f 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c .=&gt;.|x_bool|.x_bool,</span>.<
53e80 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 56 61 span.class="line">............Va
53ea0 72 69 61 6e 74 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 riant.none.=&gt;.<span.class="to
53ec0 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 3e 0a 3c 73 70 k-null">false</span>,</span>.<sp
53ee0 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 6e an.class="line">........};</span
53f00 3e 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
53f20 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 3c >.<span.class="line">};</span>.<
53f40 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.
53f60 63 6c 61 73 73 3d 22 6c 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
53f80 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
53fa0 74 72 22 3e 26 71 75 6f 74 3b 75 6e 69 6f 6e 20 6d 65 74 68 6f 64 26 71 75 6f 74 3b 3c 2f 73 70 tr">&quot;union.method&quot;</sp
53fc0 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">
53fe0 20 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
54000 61 6e 3e 20 76 31 20 3d 20 56 61 72 69 61 6e 74 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 an>.v1.=.Variant{..int.=.<span.c
54020 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 lass="tok-number">1</span>.};</s
54040 70 61 6e 3e 0a 3c 73 70 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
54060 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 32 20 3d n.class="tok-kw">var</span>.v2.=
54080 20 56 61 72 69 61 6e 74 7b 20 2e 62 6f 6f 6c 65 61 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 .Variant{..boolean.=.<span.class
540a0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 ="tok-null">false</span>.};</spa
540c0 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
540e0 70 61 6e 20 63 6c 61 73 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
54100 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 31 2e 74 ="tok-kw">try</span>.expect(v1.t
54120 72 75 74 68 79 28 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 ruthy());</span>.<span.class="li
54140 6e 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
54160 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 76 32 2e 74 72 75 74 68 79 28 29 29 3b 3c 2f 73 </span>.expect(!v2.truthy());</s
54180 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>
541a0 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
541c0 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
541e0 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 3c 73 70 61 6e 20 63 l</figcaption><pre><samp><span.c
54200 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 lass="line">$.<kbd>zig.test.test
54220 5f 75 6e 69 6f 6e 5f 6d 65 74 68 6f 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c _union_method.zig</kbd></span>.<
54240 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 span.class="line">1/1.test.&quot
54260 3b 75 6e 69 6f 6e 20 6d 65 74 68 6f 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e ;union.method&quot;....OK</span>
54280 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 .<span.class="line">All.1.tests.
542a0 70 61 73 73 65 64 2e 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 passed.</span>.</samp></pre></fi
542c0 67 75 72 65 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 3d 22 23 gure>.......<p>.......<a.href="#
542e0 74 61 67 4e 61 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 tagName">@tagName</a>.can.be.use
54300 64 20 74 6f 20 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 d.to.return.a.<a.href="#comptime
54320 22 3e 63 6f 6d 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 ">comptime</a>.......<code><span
54340 20 63 6c 61 73 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 .class="line">[:<span.class="tok
54360 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -number">0</span>]<span.class="t
54380 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=
543a0 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 63 6f 64 "tok-type">u8</span></span></cod
543c0 65 3e 20 76 61 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 e>.value.representing.the.field.
543e0 6e 61 6d 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c name:.......</p>.......<figure><
54400 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
54420 20 63 6c 61 73 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 .class="file">test_tagName.zig</
54440 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
54460 61 6e 20 63 6c 61 73 73 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
54480 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
544a0 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>
544c0 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
544e0 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
54500 73 73 3d 22 6c 69 6e 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
54520 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
54540 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
54560 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
54580 70 61 6e 20 63 6c 61 73 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>.
545a0 53 6d 61 6c 6c 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 Small2.=.<span.class="tok-kw">un
545c0 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 3e ion</span>(<span.class="tok-kw">
545e0 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 73 enum</span>).{</span>.<span.clas
54600 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 6f 6b s="line">....a:.<span.class="tok
54620 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 61 6e 20 -type">i32</span>,</span>.<span.
54640 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 3d class="line">....b:.<span.class=
54660 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 61 6e 3e 0a 3c "tok-type">bool</span>,</span>.<
54680 73 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 span.class="line">....c:.<span.c
546a0 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
546c0 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 3c >.<span.class="line">};</span>.<
546e0 73 70 61 6e 20 63 6c 61 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
54700 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="
54720 74 6f 6b 2d 73 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 tok-str">&quot;@tagName&quot;</s
54740 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"
54760 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
54780 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c pan>.expect(std.mem.eql(<span.cl
547a0 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 20 ass="tok-type">u8</span>,.<span.
547c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 class="tok-builtin">@tagName</sp
547e0 61 6e 3e 28 53 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 an>(Small2.a),.<span.class="tok-
54800 73 74 72 22 3e 26 71 75 6f 74 3b 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 str">&quot;a&quot;</span>));</sp
54820 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><
54840 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
54860 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
54880 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><samp><span.cl
548a0 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f ass="line">$.<kbd>zig.test.test_
548c0 74 61 67 4e 61 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 tagName.zig</kbd></span>.<span.c
548e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 74 61 67 4e lass="line">1/1.test.&quot;@tagN
54900 61 6d 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ame&quot;....OK</span>.<span.cla
54920 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 ss="line">All.1.tests.passed.</s
54940 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>.....
54960 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 3e ..........<h3.id="extern-union">
54980 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 65 <a.href="#toc-extern-union">exte
549a0 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 66 rn.union</a>.<a.class="hdr".href
549c0 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 20 ="#extern-union">..</a></h3>....
549e0 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 61 ....<p>.......An.<code><span.cla
54a00 73 73 3d 22 6c 69 6e 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
54a20 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 xtern</span>.<span.class="tok-kw
54a40 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 73 ">union</span></span></code>.has
54a60 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 20 .memory.layout.guaranteed.to.be.
54a80 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 74 compatible.with.......the.target
54aa0 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 20 .C.ABI........</p>.......<p>See.
54ac0 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 65 also:</p><ul>.<li><a.href="#exte
54ae0 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 69 rn-struct">extern.struct</a></li
54b00 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 70 >.</ul>................<h3.id="p
54b20 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 65 acked-union"><a.href="#toc-packe
54b40 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 61 d-union">packed.union</a>.<a.cla
54b60 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 a7 ss="hdr".href="#packed-union">..
54b80 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 61 </a></h3>........<p>A.<code><spa
54ba0 6e 20 63 6c 61 73 73 3d 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-
54bc0 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
54be0 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 65 ok-kw">union</span></span></code
54c00 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 79 >.has.well-defined.in-memory.lay
54c20 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 6f out.and.is.eligible...........to
54c40 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 74 .be.in.a.<a.href="#packed-struct
54c60 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 0a ">packed.struct</a>.</p>........
54c80 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 4c .......<h3.id="Anonymous-Union-L
54ca0 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 73 iterals"><a.href="#toc-Anonymous
54cc0 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 6e -Union-Literals">Anonymous.Union
54ce0 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 65 .Literals</a>.<a.class="hdr".hre
54d00 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 a7 f="#Anonymous-Union-Literals">..
54d20 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 6e </a></h3>........<p><a.href="#An
54d40 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f onymous-Struct-Literals">Anonymo
54d60 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 61 us.Struct.Literals</a>.syntax.ca
54d80 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 77 n.be.used.to.initialize.unions.w
54da0 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 65 ithout.specifying.......the.type
54dc0 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.
54de0 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
54e00 65 22 3e 61 6e 6f 6e 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 e">anon_union.zig</cite></figcap
54e20 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
54e40 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
54e60 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
54e80 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=
54ea0 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>
54ec0 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
54ee0 61 6e 20 63 6c 61 73 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
54f00 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
54f20 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
54f40 70 61 6e 20 63 6c 61 73 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
54f60 6b 2d 6b 77 22 3e 63 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 k-kw">const</span>.Number.=.<spa
54f80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c n.class="tok-kw">union</span>.{<
54fa0 2f 73 70 61 6e 3e 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
54fc0 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 73 t:.<span.class="tok-type">i32</s
54fe0 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">
55000 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
55020 22 3e 66 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 ">f64</span>,</span>.<span.class
55040 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
55060 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">
55080 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>
550a0 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 6e 6f .<span.class="tok-str">&quot;ano
550c0 6e 79 6d 6f 75 73 20 75 6e 69 6f 6e 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 26 71 75 6f 74 nymous.union.literal.syntax&quot
550e0 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
55100 69 6e 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
55120 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 4e 75 6d 62 65 72 20 3d 20 2e 7b 2e 69 6e 74 20 3d 20 3c 73 r</span>.i:.Number.=..{.int.=.<s
55140 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>
55160 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">...
55180 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>
551a0 20 66 20 3d 20 6d 61 6b 65 4e 75 6d 62 65 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .f.=.makeNumber();</span>.<span.
551c0 63 6c 61 73 73 3d 22 6c 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
551e0 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 2e 69 6e 74 20 3d 3d k-kw">try</span>.expect(i.int.==
55200 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 .<span.class="tok-number">42</sp
55220 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">
55240 20 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
55260 61 6e 3e 20 65 78 70 65 63 74 28 66 2e 66 6c 6f 61 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 an>.expect(f.float.==.<span.clas
55280 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
552a0 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>
552c0 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
552e0 6e 20 63 6c 61 73 73 3d 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-
55300 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
55320 6e 22 3e 6d 61 6b 65 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 28 29 20 4e 75 6d 62 65 72 20 7b 3c n">makeNumber</span>().Number.{<
55340 2f 73 70 61 6e 3e 0a 3c 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
55360 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>
55380 20 2e 7b 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ..{.float.=.<span.class="tok-num
553a0 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ber">12.34</span>};</span>.<span
553c0 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
553e0 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.
55400 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
55420 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
55440 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 6e 6f 6e 5f 75 6e 69 6f 6e 2e 7a 69 67 ">$.<kbd>zig.test.anon_union.zig
55460 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 </kbd></span>.<span.class="line"
55480 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 75 6e 69 6f 6e 20 >1/1.test.&quot;anonymous.union.
554a0 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e literal.syntax&quot;....OK</span
554c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 >.<span.class="line">All.1.tests
554e0 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 .passed.</span>.</samp></pre></f
55500 69 67 75 72 65 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 igure>.......................<h2
55520 20 69 64 3d 22 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 .id="opaque"><a.href="#toc-opaqu
55540 65 22 3e 6f 70 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 e">opaque</a>.<a.class="hdr".hre
55560 66 3d 22 23 6f 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 f="#opaque">..</a></h2>........<
55580 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
555a0 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 61 71 75 65 3c 2f 73 "><span.class="tok-kw">opaque</s
555c0 70 61 6e 3e 20 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 pan>.{}</span></code>.declares.a
555e0 20 6e 65 77 20 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 .new.type.with.an.unknown.(but.n
55600 6f 6e 2d 7a 65 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 on-zero).size.and.alignment.....
55620 20 20 20 49 74 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 ...It.can.contain.declarations.t
55640 68 65 20 73 61 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 he.same.as.<a.href="#struct">str
55660 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 6e ucts</a>,.<a.href="#union">union
55680 73 3c 2f 61 3e 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 s</a>,.......and.<a.href="#enum"
556a0 3e 65 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 70 3e >enums</a>........</p>.......<p>
556c0 0a 20 20 20 20 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 .......This.is.typically.used.fo
556e0 72 20 74 79 70 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 r.type.safety.when.interacting.w
55700 69 74 68 20 43 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 ith.C.code.that.does.not.expose.
55720 73 74 72 75 63 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 struct.details........Example:..
55740 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
55760 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=
55780 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 "file">test.zig</cite></figcapti
557a0 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"
557c0 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
557e0 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 3e 6f n>.Derp.=.<span.class="tok-kw">o
55800 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 63 6c paque</span>.{};</span>.<span.cl
55820 61 73 73 3d 22 6c 69 6e 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">
55840 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 3d 22 const</span>.Wat.=.<span.class="
55860 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 6e 3e tok-kw">opaque</span>.{};</span>
55880 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
558a0 6e 20 63 6c 61 73 73 3d 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-
558c0 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
558e0 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
55900 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 61 6e k-fn">bar</span>(d:.*Derp).<span
55920 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 3c 2f .class="tok-type">void</span>;</
55940 73 70 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
55960 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
55980 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 74 29 ass="tok-fn">foo</span>(w:.*Wat)
559a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f .<span.class="tok-kw">callconv</
559c0 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 65 22 span>(.C).<span.class="tok-type"
559e0 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
55a00 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 70 61 s="line">....bar(w);</span>.<spa
55a20 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
55a40 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="
55a60 6c 69 6e 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<
55a80 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
55aa0 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 61 6e ot;call.foo&quot;</span>.{</span
55ac0 3e 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 >.<span.class="line">....foo(<sp
55ae0 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 2f 73 an.class="tok-null">undefined</s
55b00 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"
55b20 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><
55b40 66 69 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-
55b60 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
55b80 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
55ba0 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e test.test.zig</kbd></span>.<span
55bc0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 .class="line"><span.class="t0_1"
55be0 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 39 3a 20 3c 2f 73 70 >./docgen_tmp/test.zig:6:9:.</sp
55c00 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f an><span.class="t31_1">error:.</
55c20 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 70 65 63 74 65 64 span><span.class="t0_1">expected
55c40 20 74 79 70 65 20 27 2a 44 65 72 70 27 2c 20 66 6f 75 6e 64 20 27 2a 57 61 74 27 3c 2f 73 70 61 .type.'*Derp',.found.'*Wat'</spa
55c60 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">...
55c80 20 62 61 72 28 77 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 .bar(w);</span>.<span.class="lin
55ca0 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 33 32 5f 31 22 3e 5e e">........<span.class="t32_1">^
55cc0 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
55ce0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d "><span.class="t0_1">./docgen_tm
55d00 70 2f 74 65 73 74 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 p/test.zig:6:9:.</span><span.cla
55d20 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c ss="t36_1">note:.</span><span.cl
55d40 61 73 73 3d 22 74 30 5f 31 22 3e 70 6f 69 6e 74 65 72 20 74 79 70 65 20 63 68 69 6c 64 20 27 57 ass="t0_1">pointer.type.child.'W
55d60 61 74 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 74 79 70 at'.cannot.cast.into.pointer.typ
55d80 65 20 63 68 69 6c 64 20 27 44 65 72 70 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 e.child.'Derp'</span></span>.<sp
55da0 61 6e 20 63 6c 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 an.class="line">....bar(w);</spa
55dc0 6e 3e 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
55de0 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e pan.class="t32_1">^</span></span
55e00 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 0a >.</samp></pre></figure>........
55e20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 62 6c 6f 63 6b 73 22 3e 3c 61 20 68 72 65 66 3d 22 .......<h2.id="blocks"><a.href="
55e40 23 74 6f 63 2d 62 6c 6f 63 6b 73 22 3e 62 6c 6f 63 6b 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 #toc-blocks">blocks</a>.<a.class
55e60 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 6c 6f 63 6b 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 ="hdr".href="#blocks">..</a></h2
55e80 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 6c 6f 63 6b 73 20 61 72 65 20 75 73 >........<p>.......Blocks.are.us
55ea0 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 73 63 6f 70 65 20 6f 66 20 76 61 72 69 61 62 6c ed.to.limit.the.scope.of.variabl
55ec0 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 e.declarations:.......</p>......
55ee0 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-
55f00 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 cap"><cite.class="file">test.zig
55f20 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><
55f40 73 70 61 6e 20 63 6c 61 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
55f60 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="
55f80 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 63 63 65 73 73 20 76 61 72 69 61 62 6c 65 20 61 tok-str">&quot;access.variable.a
55fa0 66 74 65 72 20 62 6c 6f 63 6b 20 73 63 6f 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c fter.block.scope&quot;</span>.{<
55fc0 2f 73 70 61 6e 3e 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 /span>.<span.class="line">....{<
55fe0 2f 73 70 61 6e 3e 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">......
56000 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
56020 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 33 32 3c >.x:.<span.class="tok-type">i32<
56040 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
56060 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="
56080 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 line">........_.=.x;</span>.<spa
560a0 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
560c0 6e 20 63 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 n.class="line">....x.+=.<span.cl
560e0 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
56100 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
56120 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
56140 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</
56160 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><samp><span.clas
56180 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 s="line">$.<kbd>zig.test.test.zi
561a0 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
561c0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f "><span.class="t1_0">docgen_tmp/
561e0 74 65 73 74 2e 7a 69 67 3a 36 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 test.zig:6:5:.</span><span.class
56200 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 ="t31_1">error:</span><span.clas
56220 73 3d 22 74 31 5f 30 22 3e 20 75 73 65 20 6f 66 20 75 6e 64 65 63 6c 61 72 65 64 20 69 64 65 6e s="t1_0">.use.of.undeclared.iden
56240 74 69 66 69 65 72 20 27 78 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c tifier.'x'</span>.<span.class="l
56260 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 78 20 2b 3d 20 31 3b 3c 2f 73 70 61 6e 3e 0a 3c ine"></span>....x.+=.1;</span>.<
56280 73 70 61 6e 20 63 6c 61 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
562a0 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 s="t32_1">^</span>.<span.class="
562c0 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 line"></span></span>.</samp></pr
562e0 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 65 20 e></figure>.......<p>Blocks.are.
56300 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 64 65 expressions..When.labeled,.<code
56320 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=
56340 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 63 6f "tok-kw">break</span></span></co
56360 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 6e 20 de>.can.be.used.......to.return.
56380 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 3c 2f a.value.from.the.block:.......</
563a0 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
563c0 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">
563e0 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 2f 66 test_labeled_break.zig</cite></f
56400 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
56420 3d 22 6c 69 6e 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
56440 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
56460 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
56480 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;</
564a0 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
564c0 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
564e0 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;
56500 3c 2f 73 70 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
56520 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
56540 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
56560 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 61 6b ss="tok-str">&quot;labeled.break
56580 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 26 71 .from.labeled.block.expression&q
565a0 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
565c0 3d 22 6c 69 6e 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"
565e0 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >var</span>.y:.<span.class="tok-
56600 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="
56620 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 0a 3c tok-number">123</span>;</span>.<
56640 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.
56660 63 6c 61 73 73 3d 22 6c 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
56680 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 2f 73 k-kw">const</span>.x.=.blk:.{</s
566a0 70 61 6e 3e 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">........
566c0 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 31 3c y.+=.<span.class="tok-number">1<
566e0 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
56700 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 62 ">........<span.class="tok-kw">b
56720 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 61 6e reak</span>.:blk.y;</span>.<span
56740 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 70 61 .class="line">....};</span>.<spa
56760 6e 20 63 6c 61 73 73 3d 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="
56780 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 20 3c tok-kw">try</span>.expect(x.==.<
567a0 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 70 61 span.class="tok-number">124</spa
567c0 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">.
567e0 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
56800 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 2d n>.expect(y.==.<span.class="tok-
56820 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 70 61 number">124</span>);</span>.<spa
56840 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></
56860 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
56880 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
568a0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
568c0 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6c 61 62 65 6c 65 64 5f e">$.<kbd>zig.test.test_labeled_
568e0 62 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 break.zig</kbd></span>.<span.cla
56900 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6c 61 62 65 6c 65 64 ss="line">1/1.test.&quot;labeled
56920 20 62 72 65 61 6b 20 66 72 6f 6d 20 6c 61 62 65 6c 65 64 20 62 6c 6f 63 6b 20 65 78 70 72 65 73 .break.from.labeled.block.expres
56940 73 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c sion&quot;....OK</span>.<span.cl
56960 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f ass="line">All.1.tests.passed.</
56980 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>....
569a0 20 20 20 3c 70 3e 48 65 72 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ...<p>Here,.<code><span.class="l
569c0 69 6e 65 22 3e 62 6c 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 61 6e ine">blk</span></code>.can.be.an
569e0 79 20 6e 61 6d 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f y.name.</p>.......<p>See.also:</
56a00 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 77 68 69 p><ul>.<li><a.href="#Labeled-whi
56a20 6c 65 22 3e 4c 61 62 65 6c 65 64 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c le">Labeled.while</a></li>.<li><
56a40 61 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 20 66 6f a.href="#Labeled-for">Labeled.fo
56a60 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d r</a></li>.</ul>.........<h3.id=
56a80 22 53 68 61 64 6f 77 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 68 61 64 6f 77 "Shadowing"><a.href="#toc-Shadow
56aa0 69 6e 67 22 3e 53 68 61 64 6f 77 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ing">Shadowing</a>.<a.class="hdr
56ac0 22 20 68 72 65 66 3d 22 23 53 68 61 64 6f 77 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a ".href="#Shadowing">..</a></h3>.
56ae0 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 66 69 65 72 73 22 .......<p><a.href="#Identifiers"
56b00 3e 49 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77 >Identifiers</a>.are.never.allow
56b20 65 64 20 74 6f 20 22 68 69 64 65 22 20 6f 74 68 65 72 20 69 64 65 6e 74 69 66 69 65 72 73 20 62 ed.to."hide".other.identifiers.b
56b40 79 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 y.using.the.same.name:</p>......
56b60 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-
56b80 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 cap"><cite.class="file">test.zig
56ba0 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><
56bc0 73 70 61 6e 20 63 6c 61 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
56be0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 69 20 3d 20 3c 73 70 61 6e 20 63 ok-kw">const</span>.pi.=.<span.c
56c00 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 3b 3c 2f lass="tok-number">3.14</span>;</
56c20 73 70 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>
56c40 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=
56c60 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
56c80 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 73 69 64 65 20 74 65 73 74 20 62 6c 6f ="tok-str">&quot;inside.test.blo
56ca0 63 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 ck&quot;</span>.{</span>.<span.c
56cc0 6c 61 73 73 3d 22 6c 69 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
56ce0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 65 74 27 73 20 65 76 65 6e 20 67 6f 20 69 6e 73 69 64 -comment">//.Let's.even.go.insid
56d00 65 20 61 6e 6f 74 68 65 72 20 62 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 e.another.block</span></span>.<s
56d20 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 3e 0a 3c 73 pan.class="line">....{</span>.<s
56d40 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
56d60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 69 3a 20 3c 73 70 lass="tok-kw">var</span>.pi:.<sp
56d80 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>.=
56da0 20 3c 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</
56dc0 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"
56de0 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"
56e00 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><
56e20 66 69 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-
56e40 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
56e60 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
56e80 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e test.test.zig</kbd></span>.<span
56ea0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
56ec0 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 31 33 3a 20 3c 2f 73 70 61 >docgen_tmp/test.zig:6:13:.</spa
56ee0 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 3c 2f 73 70 n><span.class="t31_1">error:</sp
56f00 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 20 6c 6f 63 61 6c 20 73 68 61 an><span.class="t1_0">.local.sha
56f20 64 6f 77 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 6f 66 20 27 70 69 27 3c 2f 73 70 61 6e 3e 0a dows.declaration.of.'pi'</span>.
56f40 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 20 20 20 20 20 20 <span.class="line"></span>......
56f60 20 20 76 61 72 20 70 69 3a 20 69 33 32 20 3d 20 31 32 33 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ..var.pi:.i32.=.1234;</span>.<sp
56f80 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 70 61 an.class="line">............<spa
56fa0 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 n.class="t32_1">^</span>.<span.c
56fc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 lass="line"></span><span.class="
56fe0 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 3a 31 3a 20 3c t1_0">docgen_tmp/test.zig:1:1:.<
57000 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 3c /span><span.class="t36_1">note:<
57020 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 20 64 65 63 6c 61 72 /span><span.class="t1_0">.declar
57040 65 64 20 68 65 72 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 ed.here</span>.<span.class="line
57060 22 3e 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 70 69 20 3d 20 33 2e 31 34 3b 3c 2f 73 70 61 6e 3e "></span>const.pi.=.3.14;</span>
57080 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=
570a0 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 "t32_1">^</span>.<span.class="li
570c0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e ne"></span></span>.</samp></pre>
570e0 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 42 65 63 61 75 73 </figure>.......<p>.......Becaus
57100 65 20 6f 66 20 74 68 69 73 2c 20 77 68 65 6e 20 79 6f 75 20 72 65 61 64 20 5a 69 67 20 63 6f 64 e.of.this,.when.you.read.Zig.cod
57120 65 20 79 6f 75 20 63 61 6e 20 61 6c 77 61 79 73 20 72 65 6c 79 20 6f 6e 20 61 6e 20 69 64 65 6e e.you.can.always.rely.on.an.iden
57140 74 69 66 69 65 72 20 74 6f 20 63 6f 6e 73 69 73 74 65 6e 74 6c 79 20 6d 65 61 6e 0a 20 20 20 20 tifier.to.consistently.mean.....
57160 20 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 77 69 74 68 69 6e 20 74 68 65 20 73 63 6f 70 ..the.same.thing.within.the.scop
57180 65 20 69 74 20 69 73 20 64 65 66 69 6e 65 64 2e 20 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 63 e.it.is.defined..Note.that.you.c
571a0 61 6e 2c 20 68 6f 77 65 76 65 72 2c 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 69 an,.however,.use.the.same.name.i
571c0 66 0a 20 20 20 20 20 20 74 68 65 20 73 63 6f 70 65 73 20 61 72 65 20 73 65 70 61 72 61 74 65 3a f.......the.scopes.are.separate:
571e0 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
57200 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
57220 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 63 6f 70 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c s="file">test_scopes.zig</cite><
57240 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
57260 73 73 3d 22 6c 69 6e 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
57280 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"
572a0 3e 26 71 75 6f 74 3b 73 65 70 61 72 61 74 65 20 73 63 6f 70 65 73 26 71 75 6f 74 3b 3c 2f 73 70 >&quot;separate.scopes&quot;</sp
572c0 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">
572e0 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 3e ....{</span>.<span.class="line">
57300 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e ........<span.class="tok-kw">con
57320 73 74 3c 2f 73 70 61 6e 3e 20 70 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d st</span>.pi.=.<span.class="tok-
57340 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 6e 3e 0a 3c 73 70 61 number">3.14</span>;</span>.<spa
57360 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 2f n.class="line">........_.=.pi;</
57380 73 70 61 6e 3e 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">....}</
573a0 73 70 61 6e 3e 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 span>.<span.class="line">....{</
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 20 20 20 span>.<span.class="line">.......
573e0 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>
57400 20 70 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c .pi:.<span.class="tok-type">bool
57420 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 </span>.=.<span.class="tok-null"
57440 3e 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 >true</span>;</span>.<span.class
57460 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 70 69 3b 3c 2f 73 70 61 6e 3e 0a 3c ="line">........_.=.pi;</span>.<
57480 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>.<
574a0 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
574c0 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
574e0 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
57500 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
57520 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 63 6f 70 65 line">$.<kbd>zig.test.test_scope
57540 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 s.zig</kbd></span>.<span.class="
57560 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 65 70 61 72 61 74 65 20 73 63 line">1/1.test.&quot;separate.sc
57580 6f 70 65 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c opes&quot;....OK</span>.<span.cl
575a0 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f ass="line">All.1.tests.passed.</
575c0 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>....
575e0 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 77 69 74 63 68 ..................<h2.id="switch
57600 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f "><a.href="#toc-switch">switch</
57620 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 77 69 74 63 68 22 a>.<a.class="hdr".href="#switch"
57640 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 >..</a></h2>........<figure><fig
57660 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
57680 61 73 73 3d 22 66 69 6c 65 22 3e 73 77 69 74 63 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 ass="file">switch.zig</cite></fi
576a0 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=
576c0 22 6c 69 6e 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
576e0 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-
57700 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
57720 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
57740 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"
57760 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
57780 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 n>.builtin.=.<span.class="tok-bu
577a0 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
577c0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c s="tok-str">&quot;builtin&quot;<
577e0 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
57800 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
57820 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 pan>.expect.=.std.testing.expect
57840 3b 3c 2f 73 70 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
57860 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
57880 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
578a0 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 73 69 6d 70 6c ass="tok-str">&quot;switch.simpl
578c0 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
578e0 61 73 73 3d 22 6c 69 6e 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-
57900 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">const</span>.a:.<span.class=
57920 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 6c "tok-type">u64</span>.=.<span.cl
57940 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
57960 6e 3e 0a 3c 73 70 61 6e 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.
57980 63 6c 61 73 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 7a 3a 20 class="tok-kw">const</span>.zz:.
579a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e <span.class="tok-type">u64</span
579c0 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 33 >.=.<span.class="tok-number">103
579e0 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
57a00 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">..
57a20 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
57a40 6c 6c 20 62 72 61 6e 63 68 65 73 20 6f 66 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 ll.branches.of.a.switch.expressi
57a60 6f 6e 20 6d 75 73 74 20 62 65 20 61 62 6c 65 20 74 6f 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f on.must.be.able.to.be.coerced.to
57a80 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 73 73 3d 22 6c 69 .a</span></span>.<span.class="li
57aa0 6e 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
57ac0 22 3e 2f 2f 20 63 6f 6d 6d 6f 6e 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ">//.common.type.</span></span>.
57ae0 3c 73 70 61 6e 20 63 6c 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
57b00 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ss="tok-comment">//</span></span
57b20 3e 0a 3c 73 70 61 6e 20 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
57b40 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 72 61 6e 63 68 65 73 20 63 lass="tok-comment">//.Branches.c
57b60 61 6e 6e 6f 74 20 66 61 6c 6c 74 68 72 6f 75 67 68 2e 20 49 66 20 66 61 6c 6c 74 68 72 6f 75 67 annot.fallthrough..If.fallthroug
57b80 68 20 62 65 68 61 76 69 6f 72 20 69 73 20 64 65 73 69 72 65 64 2c 20 63 6f 6d 62 69 6e 65 3c 2f h.behavior.is.desired,.combine</
57ba0 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">
57bc0 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">//
57be0 20 74 68 65 20 63 61 73 65 73 20 61 6e 64 20 75 73 65 20 61 6e 20 69 66 2e 3c 2f 73 70 61 6e 3e .the.cases.and.use.an.if.</span>
57c00 3c 2f 73 70 61 6e 3e 0a 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">....<
57c20 73 70 61 6e 20 63 6c 61 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>
57c40 20 62 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 .b.=.<span.class="tok-kw">switch
57c60 3c 2f 73 70 61 6e 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 </span>.(a).{</span>.<span.class
57c80 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
57ca0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4d 75 6c 74 69 70 6c 65 20 63 61 73 65 73 20 63 61 6e 20 -comment">//.Multiple.cases.can.
57cc0 62 65 20 63 6f 6d 62 69 6e 65 64 20 76 69 61 20 61 20 27 2c 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 be.combined.via.a.','</span></sp
57ce0 61 6e 3e 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">........<
57d00 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>
57d20 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
57d40 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<
57d60 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 75 /span>.=&gt;.<span.class="tok-nu
57d80 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 61 mber">0</span>,</span>.<span.cla
57da0 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
57dc0 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
57de0 6d 6d 65 6e 74 22 3e 2f 2f 20 52 61 6e 67 65 73 20 63 61 6e 20 62 65 20 73 70 65 63 69 66 69 65 mment">//.Ranges.can.be.specifie
57e00 64 20 75 73 69 6e 67 20 74 68 65 20 2e 2e 2e 20 73 79 6e 74 61 78 2e 20 54 68 65 73 65 20 61 72 d.using.the.....syntax..These.ar
57e20 65 20 69 6e 63 6c 75 73 69 76 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 e.inclusive</span></span>.<span.
57e40 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
57e60 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 66 20 62 6f 74 68 20 65 6e 64 73 2e 3c ="tok-comment">//.of.both.ends.<
57e80 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"
57ea0 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 75 6d 62 65 72 >........<span.class="tok-number
57ec0 22 3e 35 3c 2f 73 70 61 6e 3e 2e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ">5</span>...<span.class="tok-nu
57ee0 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 mber">100</span>.=&gt;.<span.cla
57f00 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 3e ss="tok-number">1</span>,</span>
57f20 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
57f40 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
57f60 73 73 3d 22 74 6f 6b 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 ss="tok-comment">//.Branches.can
57f80 20 62 65 20 61 72 62 69 74 72 61 72 69 6c 79 20 63 6f 6d 70 6c 65 78 2e 3c 2f 73 70 61 6e 3e 3c .be.arbitrarily.complex.</span><
57fa0 2f 73 70 61 6e 3e 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">......
57fc0 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 30 31 3c 2f ..<span.class="tok-number">101</
57fe0 73 70 61 6e 3e 20 3d 26 67 74 3b 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span>.=&gt;.blk:.{</span>.<span.
58000 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
58020 6c 61 73 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 3a 20 3c 73 lass="tok-kw">const</span>.c:.<s
58040 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">u64</span>.
58060 3d 20 3c 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
58080 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">.
580a0 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">
580c0 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 63 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 break</span>.:blk.c.*.<span.clas
580e0 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 20 s="tok-number">2</span>.+.<span.
58100 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
58120 61 6e 3e 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 an>.<span.class="line">........}
58140 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 70 ,</span>.<span.class="line"></sp
58160 61 6e 3e 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">........<
58180 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 77 69 74 span.class="tok-comment">//.Swit
581a0 63 68 69 6e 67 20 6f 6e 20 61 72 62 69 74 72 61 72 79 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 ching.on.arbitrary.expressions.i
581c0 73 20 61 6c 6c 6f 77 65 64 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 3c 2f 73 70 61 6e 3e 3c s.allowed.as.long.as.the</span><
581e0 2f 73 70 61 6e 3e 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">......
58200 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 65 ..<span.class="tok-comment">//.e
58220 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
58240 6d 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 me.</span></span>.<span.class="l
58260 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7a 7a 20 3d 26 67 74 3b 20 7a 7a 2c 3c 2f 73 70 61 6e 3e ine">........zz.=&gt;.zz,</span>
58280 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 6c 6b 3a .<span.class="line">........blk:
582a0 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">...
582c0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f .........<span.class="tok-kw">co
582e0 6e 73 74 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 nst</span>.d:.<span.class="tok-t
58300 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
58320 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 6e 3e 0a 3c 73 70 61 ok-number">5</span>;</span>.<spa
58340 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 70 61 6e n.class="line">............<span
58360 20 63 6c 61 73 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 3a 20 .class="tok-kw">const</span>.e:.
58380 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
583a0 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 30 >.=.<span.class="tok-number">100
583c0 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
583e0 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-
58400 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 64 20 2b 20 65 3b 3c 2f 73 70 kw">break</span>.:blk.d.+.e;</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 7d an>.<span.class="line">........}
58440 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 6d 62 65 72 22 3e .=&gt;.<span.class="tok-number">
58460 31 30 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 22 107</span>,</span>.<span.class="
58480 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"
584a0 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
584c0 74 22 3e 2f 2f 20 54 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 63 61 74 63 68 65 73 20 65 76 t">//.The.else.branch.catches.ev
584e0 65 72 79 74 68 69 6e 67 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 63 61 70 74 75 72 65 64 2e 3c 2f erything.not.already.captured.</
58500 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">
58520 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
58540 22 3e 2f 2f 20 45 6c 73 65 20 62 72 61 6e 63 68 65 73 20 61 72 65 20 6d 61 6e 64 61 74 6f 72 79 ">//.Else.branches.are.mandatory
58560 20 75 6e 6c 65 73 73 20 74 68 65 20 65 6e 74 69 72 65 20 72 61 6e 67 65 20 6f 66 20 76 61 6c 75 .unless.the.entire.range.of.valu
58580 65 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 es</span></span>.<span.class="li
585a0 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
585c0 6d 65 6e 74 22 3e 2f 2f 20 69 73 20 68 61 6e 64 6c 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ment">//.is.handled.</span></spa
585e0 6e 3e 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
58600 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 3d pan.class="tok-kw">else</span>.=
58620 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 39 3c &gt;.<span.class="tok-number">9<
58640 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
58660 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
58680 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">..
586a0 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
586c0 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
586e0 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
58700 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
58720 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
58740 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">//.
58760 53 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 6f Switch.expressions.can.be.used.o
58780 75 74 73 69 64 65 20 61 20 66 75 6e 63 74 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e utside.a.function:</span></span>
587a0 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=
587c0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 5f 6d 73 67 20 3d 20 3c "tok-kw">const</span>.os_msg.=.<
587e0 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
58800 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 67 65 74 2e 6f 73 2e 74 61 67 29 20 7b 3c 2f 73 70 61 >.(builtin.target.os.tag).{</spa
58820 6e 3e 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 6c 69 6e 75 78 n>.<span.class="line">.....linux
58840 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .=&gt;.<span.class="tok-str">&qu
58860 6f 74 3b 77 65 20 66 6f 75 6e 64 20 61 20 6c 69 6e 75 78 20 75 73 65 72 26 71 75 6f 74 3b 3c 2f ot;we.found.a.linux.user&quot;</
58880 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"
588a0 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 6c 73 65 3c 2f >....<span.class="tok-kw">else</
588c0 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 73 74 72 span>.=&gt;.<span.class="tok-str
588e0 22 3e 26 71 75 6f 74 3b 6e 6f 74 20 61 20 6c 69 6e 75 78 20 75 73 65 72 26 71 75 6f 74 3b 3c 2f ">&quot;not.a.linux.user&quot;</
58900 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"
58920 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"></
58940 73 70 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
58960 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 73 69 64 65 20 61 20 66 lass="tok-comment">//.Inside.a.f
58980 75 6e 63 74 69 6f 6e 2c 20 73 77 69 74 63 68 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6d 70 6c 69 unction,.switch.statements.impli
589a0 63 69 74 6c 79 20 61 72 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 citly.are.compile-time</span></s
589c0 70 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
589e0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 76 61 6c 75 61 74 65 64 20 69 ass="tok-comment">//.evaluated.i
58a00 66 20 74 68 65 20 74 61 72 67 65 74 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 63 6f 6d 70 69 f.the.target.expression.is.compi
58a20 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 le-time.known.</span></span>.<sp
58a40 61 6e 20 63 6c 61 73 73 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
58a60 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
58a80 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 69 6e 73 69 64 65 20 66 75 6e 63 74 k-str">&quot;switch.inside.funct
58aa0 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 20 ion&quot;</span>.{</span>.<span.
58ac0 63 6c 61 73 73 3d 22 6c 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
58ae0 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 6e 2e 74 61 72 k-kw">switch</span>.(builtin.tar
58b00 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 63 6c 61 73 73 get.os.tag).{</span>.<span.class
58b20 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 75 63 68 73 69 61 20 3d 26 67 74 3b 20 7b ="line">.........fuchsia.=&gt;.{
58b40 3c 2f 73 70 61 6e 3e 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">.....
58b60 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"
58b80 3e 2f 2f 20 4f 6e 20 61 6e 20 4f 53 20 6f 74 68 65 72 20 74 68 61 6e 20 66 75 63 68 73 69 61 2c >//.On.an.OS.other.than.fuchsia,
58ba0 20 62 6c 6f 63 6b 20 69 73 20 6e 6f 74 20 65 76 65 6e 20 61 6e 61 6c 79 7a 65 64 2c 3c 2f 73 70 .block.is.not.even.analyzed,</sp
58bc0 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">..
58be0 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 ..........<span.class="tok-comme
58c00 6e 74 22 3e 2f 2f 20 73 6f 20 74 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 nt">//.so.this.compile.error.is.
58c20 6e 6f 74 20 74 72 69 67 67 65 72 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 not.triggered.</span></span>.<sp
58c40 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 70 61 an.class="line">............<spa
58c60 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 66 75 63 68 n.class="tok-comment">//.On.fuch
58c80 73 69 61 20 74 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 77 6f 75 6c 64 20 62 65 20 sia.this.compile.error.would.be.
58ca0 74 72 69 67 67 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 triggered.</span></span>.<span.c
58cc0 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 6c lass="line">............<span.cl
58ce0 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 72 3c ass="tok-builtin">@compileError<
58d00 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
58d20 6f 74 3b 66 75 63 68 73 69 61 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 26 71 75 6f 74 3b 3c 2f ot;fuchsia.not.supported&quot;</
58d40 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
58d60 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 73 73 3d ">........},</span>.<span.class=
58d80 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-
58da0 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e kw">else</span>.=&gt;.{},</span>
58dc0 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>
58de0 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
58e00 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
58e20 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
58e40 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
58e60 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 77 69 74 63 68 2e 7a ="line">$.<kbd>zig.test.switch.z
58e80 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
58ea0 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 73 77 69 74 63 68 20 73 69 6d 70 6c 65 26 e">1/2.test.&quot;switch.simple&
58ec0 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;....OK</span>.<span.class="
58ee0 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 73 77 69 74 63 68 20 69 6e 73 69 line">2/2.test.&quot;switch.insi
58f00 64 65 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c de.function&quot;....OK</span>.<
58f20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 span.class="line">All.2.tests.pa
58f40 73 73 65 64 2e 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 ssed.</span>.</samp></pre></figu
58f60 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 6e 20 re>.......<p>.......<code><span.
58f80 63 6c 61 73 73 3d 22 6c 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
58fa0 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 6f 64 65 3e 20 63 61 ">switch</span></span></code>.ca
58fc0 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 61 70 74 75 72 65 20 74 68 65 20 66 69 65 6c 64 20 76 n.be.used.to.capture.the.field.v
58fe0 61 6c 75 65 73 0a 20 20 20 20 20 20 6f 66 20 61 20 3c 61 20 68 72 65 66 3d 22 23 54 61 67 67 65 alues.......of.a.<a.href="#Tagge
59000 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 2e 20 4d 6f 64 69 66 d-union">Tagged.union</a>..Modif
59020 69 63 61 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 66 69 65 6c 64 20 76 61 6c 75 65 73 20 63 61 6e ications.to.the.field.values.can
59040 20 62 65 0a 20 20 20 20 20 20 64 6f 6e 65 20 62 79 20 70 6c 61 63 69 6e 67 20 61 20 3c 63 6f 64 .be.......done.by.placing.a.<cod
59060 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 6e 3e 3c 2f 63 e><span.class="line">*</span></c
59080 6f 64 65 3e 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 ode>.before.the.capture.variable
590a0 20 6e 61 6d 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 .name,.......turning.it.into.a.p
590c0 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 66 69 67 75 72 65 ointer........</p>.......<figure
590e0 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
59100 74 65 20 63 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 te.class="file">test_switch_tagg
59120 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>
59140 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
59160 70 61 6e 20 63 6c 61 73 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>.
59180 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 expect.=.<span.class="tok-builti
591a0 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
591c0 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>).
591e0 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
59200 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
59220 69 6e 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</
59240 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
59260 74 3b 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f t;switch.on.tagged.union&quot;</
59280 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
592a0 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
592c0 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 74 6f 6b </span>.Point.=.<span.class="tok
592e0 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
59300 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 3c 73 70 61 6e 20 n.class="line">........x:.<span.
59320 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 73 70 61 class="tok-type">u8</span>,</spa
59340 6e 3e 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 79 3a n>.<span.class="line">........y:
59360 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
59380 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">...
593a0 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">..
593c0 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
593e0 61 6e 3e 20 49 74 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e an>.Item.=.<span.class="tok-kw">
59400 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
59420 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
59440 61 73 73 3d 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 ass="line">........a:.<span.clas
59460 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>.
59480 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 63 3a 20 50 6f <span.class="line">........c:.Po
594a0 69 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 3e 20 int,</span>.<span.class="line">.
594c0 20 20 20 20 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 .......d,</span>.<span.class="li
594e0 6e 65 22 3e 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 ne">........e:.<span.class="tok-
59500 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 20 63 type">u32</span>,</span>.<span.c
59520 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 70 61 6e 20 lass="line">....};</span>.<span.
59540 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
59560 3d 22 6c 69 6e 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"
59580 3e 76 61 72 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 >var</span>.a.=.Item{..c.=.Point
595a0 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 3e {..x.=.<span.class="tok-number">
595c0 31 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 2d 1</span>,..y.=.<span.class="tok-
595e0 6e 75 6d 62 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 number">2</span>.}.};</span>.<sp
59600 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
59620 61 73 73 3d 22 6c 69 6e 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-
59640 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 6d 6f 72 65 20 63 6f comment">//.Switching.on.more.co
59660 6d 70 6c 65 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 mplex.enums.is.allowed.</span></
59680 73 70 61 6e 3e 0a 3c 73 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
596a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 an.class="tok-kw">const</span>.b
596c0 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</
596e0 73 70 61 6e 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 span>.(a).{</span>.<span.class="
59700 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
59720 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 63 61 70 74 75 72 65 20 67 72 6f 75 70 20 69 73 20 61 6c omment">//.A.capture.group.is.al
59740 6c 6f 77 65 64 20 6f 6e 20 61 20 6d 61 74 63 68 2c 20 61 6e 64 20 77 69 6c 6c 20 72 65 74 75 72 lowed.on.a.match,.and.will.retur
59760 6e 20 74 68 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 n.the.enum</span></span>.<span.c
59780 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=
597a0 22 74 6f 6b 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 "tok-comment">//.value.matched..
597c0 49 66 20 74 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 If.the.payload.types.of.both.cas
597e0 65 73 20 61 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 es.are.the.same</span></span>.<s
59800 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
59820 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 79 20 63 61 6e 20 62 lass="tok-comment">//.they.can.b
59840 65 20 70 75 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 e.put.into.the.same.switch.prong
59860 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
59880 65 22 3e 20 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 e">........Item.a,.Item.e.=&gt;.
598a0 7c 69 74 65 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 |item|.item,</span>.<span.class=
598c0 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
598e0 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
59900 6e 74 22 3e 2f 2f 20 41 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 6d 61 74 63 68 65 nt">//.A.reference.to.the.matche
59920 64 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 6f 62 74 61 69 6e 65 64 20 75 73 69 6e 67 20 60 2a d.value.can.be.obtained.using.`*
59940 60 20 73 79 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 `.syntax.</span></span>.<span.cl
59960 61 73 73 3d 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 ass="line">........Item.c.=&gt;.
59980 7c 2a 69 74 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 |*item|.blk:.{</span>.<span.clas
599a0 73 3d 22 6c 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 s="line">............item.*.x.+=
599c0 20 3c 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
599e0 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">..
59a00 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 ..........<span.class="tok-kw">b
59a20 72 65 61 6b 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 reak</span>.:blk.<span.class="to
59a40 6b 2d 6e 75 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 k-number">6</span>;</span>.<span
59a60 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>.
59a80 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
59aa0 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
59ac0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 20 65 6c 73 65 20 69 73 20 72 65 s="tok-comment">//.No.else.is.re
59ae0 71 75 69 72 65 64 20 69 66 20 74 68 65 20 74 79 70 65 73 20 63 61 73 65 73 20 77 61 73 20 65 78 quired.if.the.types.cases.was.ex
59b00 68 61 75 73 74 69 76 65 6c 79 20 68 61 6e 64 6c 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e haustively.handled</span></span>
59b20 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 49 74 65 6d .<span.class="line">........Item
59b40 2e 64 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .d.=&gt;.<span.class="tok-number
59b60 22 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 ">8</span>,</span>.<span.class="
59b80 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 3d line">....};</span>.<span.class=
59ba0 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
59bc0 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</
59be0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.expect(b.==.<span.class="t
59c00 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 3c 73 70 ok-number">6</span>);</span>.<sp
59c20 61 6e 20 63 6c 61 73 73 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=
59c40 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 2e 63 2e 78 "tok-kw">try</span>.expect(a.c.x
59c60 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f .==.<span.class="tok-number">2</
59c80 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
59ca0 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>
59cc0 3c 66 69 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
59ce0 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
59d00 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 mp><span.class="line">$.<kbd>zig
59d20 20 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a .test.test_switch_tagged_union.z
59d40 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
59d60 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 e">1/1.test.&quot;switch.on.tagg
59d80 65 64 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ed.union&quot;....OK</span>.<spa
59da0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 n.class="line">All.1.tests.passe
59dc0 64 2e 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 d.</span>.</samp></pre></figure>
59de0 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>
59e00 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e <a.href="#comptime">comptime</a>
59e20 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 3c 2f </li>.<li><a.href="#enum">enum</
59e40 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
59e60 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 3e 3c or">@compileError</a></li>.<li><
59e80 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 6d 70 a.href="#Compile-Variables">Comp
59ea0 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 0a 20 ile.Variables</a></li>.</ul>....
59ec0 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 69 6e .....<h3.id="Exhaustive-Switchin
59ee0 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 69 74 g"><a.href="#toc-Exhaustive-Swit
59f00 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 3e 20 ching">Exhaustive.Switching</a>.
59f20 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 76 65 <a.class="hdr".href="#Exhaustive
59f40 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 20 3c -Switching">..</a></h3>........<
59f60 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 61 73 p>.......When.a.<code><span.clas
59f80 73 3d 22 6c 69 6e 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
59fa0 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 65 73 itch</span></span></code>.expres
59fc0 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 70 61 sion.does.not.have.an.<code><spa
59fe0 6e 20 63 6c 61 73 73 3d 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-
5a000 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 63 6c kw">else</span></span></code>.cl
5a020 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 6c 79 ause,.......it.must.exhaustively
5a040 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 20 46 .list.all.the.possible.values..F
5a060 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 72 72 ailure.to.do.so.is.a.compile.err
5a080 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 66 69 or:.......</p>.......<figure><fi
5a0a0 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
5a0c0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 lass="file">test.zig</cite></fig
5a0e0 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="
5a100 6c 69 6e 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
5a120 3c 2f 73 70 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.Color.=.<span.class="tok
5a140 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 70 61 6e 20 -kw">enum</span>.{</span>.<span.
5a160 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 3e 0a 3c 73 class="line">....auto,</span>.<s
5a180 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 70 61 6e 3e pan.class="line">....off,</span>
5a1a0 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 2f 73 70 61 .<span.class="line">....on,</spa
5a1c0 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>.
5a1e0 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
5a200 20 63 6c 61 73 73 3d 22 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
5a220 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-
5a240 73 74 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 str">&quot;exhaustive.switching&
5a260 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
5a280 73 3d 22 6c 69 6e 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
5a2a0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 6f 66 66 ">const</span>.color.=.Color.off
5a2c0 3b 3c 2f 73 70 61 6e 3e 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">....
5a2e0 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
5a300 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 73 73 3d n>.(color).{</span>.<span.class=
5a320 22 6c 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 "line">........Color.auto.=&gt;.
5a340 7b 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">..
5a360 20 20 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 ......Color.on.=&gt;.{},</span>.
5a380 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>.
5a3a0 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
5a3c0 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
5a3e0 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
5a400 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><samp><span.class=
5a420 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c "line">$.<kbd>zig.test.test.zig<
5a440 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
5a460 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f <span.class="t0_1">./docgen_tmp/
5a480 74 65 73 74 2e 7a 69 67 3a 39 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 test.zig:9:5:.</span><span.class
5a4a0 3d 22 74 33 31 5f 31 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 ="t31_1">error:.</span><span.cla
5a4c0 73 73 3d 22 74 30 5f 31 22 3e 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 20 27 43 6f 6c ss="t0_1">enumeration.value.'Col
5a4e0 6f 72 2e 6f 66 66 27 20 6e 6f 74 20 68 61 6e 64 6c 65 64 20 69 6e 20 73 77 69 74 63 68 3c 2f 73 or.off'.not.handled.in.switch</s
5a500 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">.
5a520 20 20 20 73 77 69 74 63 68 20 28 63 6f 6c 6f 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ...switch.(color).{</span>.<span
5a540 20 63 6c 61 73 73 3d 22 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
5a560 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 32_1">^</span></span>.</samp></p
5a580 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
5a5a0 64 3d 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 d="Switching-with-Enum-Literals"
5a5c0 3e 3c 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 ><a.href="#toc-Switching-with-En
5a5e0 75 6d 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 um-Literals">Switching.with.Enum
5a600 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 65 .Literals</a>.<a.class="hdr".hre
5a620 66 3d 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 f="#Switching-with-Enum-Literals
5a640 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>.......<
5a660 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 69 74 a.href="#Enum-Literals">Enum.Lit
5a680 65 72 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 erals</a>.can.be.useful.to.use.w
5a6a0 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 73 70 ith.<code><span.class="line"><sp
5a6c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c an.class="tok-kw">switch</span><
5a6e0 2f 73 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 /span></code>.to.avoid.......rep
5a700 65 74 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 etitively.specifying.<a.href="#e
5a720 6e 75 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 num">enum</a>.or.<a.href="#union
5a740 22 3e 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 ">union</a>.types:.......</p>...
5a760 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
5a780 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_
5a7a0 65 78 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 exhaustive_switch.zig</cite></fi
5a7c0 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=
5a7e0 22 6c 69 6e 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
5a800 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-
5a820 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
5a840 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
5a860 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"
5a880 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
5a8a0 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;<
5a8c0 2f 73 70 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
5a8e0 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
5a900 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 3c ="tok-kw">const</span>.Color.=.<
5a920 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>.
5a940 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">....
5a960 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 69 6e 65 22 3e auto,</span>.<span.class="line">
5a980 20 20 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 ....off,</span>.<span.class="lin
5a9a0 65 22 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 e">....on,</span>.<span.class="l
5a9c0 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
5a9e0 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
5aa00 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
5aa20 70 61 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 pan.class="tok-str">&quot;enum.l
5aa40 69 74 65 72 61 6c 73 20 77 69 74 68 20 73 77 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e iterals.with.switch&quot;</span>
5aa60 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">...
5aa80 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
5aaa0 6e 3e 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 n>.color.=.Color.off;</span>.<sp
5aac0 61 6e 20 63 6c 61 73 73 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=
5aae0 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 3c "tok-kw">const</span>.result.=.<
5ab00 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
5ab20 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 73 73 3d 22 >.(color).{</span>.<span.class="
5ab40 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 70 61 6e 20 line">.........auto.=&gt;.<span.
5ab60 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>,</
5ab80 73 70 61 6e 3e 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">.......
5aba0 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 6e 75 6c 6c ..on.=&gt;.<span.class="tok-null
5abc0 22 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 ">false</span>,</span>.<span.cla
5abe0 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 3c 73 70 ss="line">.........off.=&gt;.<sp
5ac00 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>,
5ac20 3c 2f 73 70 61 6e 3e 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">....}
5ac40 3b 3c 2f 73 70 61 6e 3e 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">....
5ac60 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>.
5ac80 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 20 63 6c 61 expect(result);</span>.<span.cla
5aca0 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><
5acc0 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
5ace0 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>
5ad00 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
5ad20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 78 68 61 75 73 74 69 76 65 5f 73 77 <kbd>zig.test.test_exhaustive_sw
5ad40 69 74 63 68 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 itch.zig</kbd></span>.<span.clas
5ad60 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 65 6e 75 6d 20 6c 69 74 s="line">1/1.test.&quot;enum.lit
5ad80 65 72 61 6c 73 20 77 69 74 68 20 73 77 69 74 63 68 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 erals.with.switch&quot;....OK</s
5ada0 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 6c 6c 20 31 20 74 65 pan>.<span.class="line">All.1.te
5adc0 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e sts.passed.</span>.</samp></pre>
5ade0 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c </figure>......................<
5ae00 68 32 20 69 64 3d 22 77 68 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 68 69 6c h2.id="while"><a.href="#toc-whil
5ae20 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 e">while</a>.<a.class="hdr".href
5ae40 3d 22 23 77 68 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e ="#while">..</a></h2>........<p>
5ae60 0a 20 20 20 20 20 20 41 20 77 68 69 6c 65 20 6c 6f 6f 70 20 69 73 20 75 73 65 64 20 74 6f 20 72 .......A.while.loop.is.used.to.r
5ae80 65 70 65 61 74 65 64 6c 79 20 65 78 65 63 75 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 epeatedly.execute.an.expression.
5aea0 75 6e 74 69 6c 0a 20 20 20 20 20 20 73 6f 6d 65 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 20 6e 6f until.......some.condition.is.no
5aec0 20 6c 6f 6e 67 65 72 20 74 72 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .longer.true........</p>.......<
5aee0 66 69 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
5af00 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c p"><cite.class="file">while.zig<
5af20 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
5af40 70 61 6e 20 63 6c 61 73 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
5af60 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 k-kw">const</span>.expect.=.<spa
5af80 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
5afa0 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
5afc0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 ;std&quot;</span>).testing.expec
5afe0 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
5b000 70 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
5b020 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
5b040 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 62 61 73 69 63 lass="tok-str">&quot;while.basic
5b060 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
5b080 73 73 3d 22 6c 69 6e 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
5b0a0 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 6f w">var</span>.i:.<span.class="to
5b0c0 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 k-type">usize</span>.=.<span.cla
5b0e0 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>
5b100 0a 3c 73 70 61 6e 20 63 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
5b120 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 ass="tok-kw">while</span>.(i.&lt
5b140 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 ;.<span.class="tok-number">10</s
5b160 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
5b180 22 3e 20 20 20 20 20 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 ">........i.+=.<span.class="tok-
5b1a0 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
5b1c0 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
5b1e0 6c 61 73 73 3d 22 6c 69 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
5b200 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 20 3d 3d 20 3c 73 70 61 -kw">try</span>.expect(i.==.<spa
5b220 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>);
5b240 3c 2f 73 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
5b260 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
5b280 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
5b2a0 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 3c 73 70 61 hell</figcaption><pre><samp><spa
5b2c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 77 n.class="line">$.<kbd>zig.test.w
5b2e0 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 hile.zig</kbd></span>.<span.clas
5b300 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 62 61 s="line">1/1.test.&quot;while.ba
5b320 73 69 63 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 sic&quot;....OK</span>.<span.cla
5b340 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 ss="line">All.1.tests.passed.</s
5b360 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>.....
5b380 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ..<p>.......Use.<code><span.clas
5b3a0 73 3d 22 6c 69 6e 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 s="line"><span.class="tok-kw">br
5b3c0 65 61 6b 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 65 78 69 74 eak</span></span></code>.to.exit
5b3e0 20 61 20 77 68 69 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 .a.while.loop.early........</p>.
5b400 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=
5b420 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 68 69 "zig-cap"><cite.class="file">whi
5b440 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c le.zig</cite></figcaption><pre><
5b460 63 6f 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
5b480 61 73 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
5b4a0 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
5b4c0 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
5b4e0 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e ">&quot;std&quot;</span>).testin
5b500 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
5b520 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"><
5b540 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>.
5b560 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c <span.class="tok-str">&quot;whil
5b580 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 6e 3e 0a 3c 73 e.break&quot;</span>.{</span>.<s
5b5a0 70 61 6e 20 63 6c 61 73 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
5b5c0 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 20 63 6c ="tok-kw">var</span>.i:.<span.cl
5b5e0 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
5b600 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 3b pan.class="tok-number">0</span>;
5b620 3c 2f 73 70 61 6e 3e 0a 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">....<
5b640 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>
5b660 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 2f 73 .(<span.class="tok-null">true</s
5b680 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
5b6a0 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 69 ">........<span.class="tok-kw">i
5b6c0 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 22 74 6f 6b 2d f</span>.(i.==.<span.class="tok-
5b6e0 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 73 70 61 6e 20 number">10</span>)</span>.<span.
5b700 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
5b720 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 61 lass="tok-kw">break</span>;</spa
5b740 6e 3e 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 69 20 n>.<span.class="line">........i.
5b760 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 +=.<span.class="tok-number">1</s
5b780 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">
5b7a0 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">
5b7c0 20 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
5b7e0 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 3d 22 74 6f 6b an>.expect(i.==.<span.class="tok
5b800 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 61 -number">10</span>);</span>.<spa
5b820 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></
5b840 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
5b860 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
5b880 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
5b8a0 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 e">$.<kbd>zig.test.while.zig</kb
5b8c0 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 d></span>.<span.class="line">1/1
5b8e0 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 62 72 65 61 6b 26 71 75 6f 74 3b 2e 2e 2e .test.&quot;while.break&quot;...
5b900 20 4f 4b 3c 2f 73 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 6c .OK</span>.<span.class="line">Al
5b920 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e l.1.tests.passed.</span>.</samp>
5b940 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>.......
5b960 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 3c 73 70 Use.<code><span.class="line"><sp
5b980 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
5b9a0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 6a 75 6d 70 20 62 61 63 6b 20 74 6f 20 ></span></code>.to.jump.back.to.
5b9c0 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 6f 6f 70 2e 0a 20 20 20 20 20 the.beginning.of.the.loop.......
5b9e0 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.
5ba00 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
5ba20 65 22 3e 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 6e 3e e">while.zig</cite></figcaption>
5ba40 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
5ba60 70 61 6e 20 63 6c 61 73 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>.
5ba80 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 expect.=.<span.class="tok-builti
5baa0 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
5bac0 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>).
5bae0 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
5bb00 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
5bb20 69 6e 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</
5bb40 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
5bb60 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 3e 20 7b 3c t;while.continue&quot;</span>.{<
5bb80 2f 73 70 61 6e 3e 0a 3c 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
5bba0 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 3a pan.class="tok-kw">var</span>.i:
5bbc0 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
5bbe0 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">
5bc00 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
5bc20 6e 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 ne">....<span.class="tok-kw">whi
5bc40 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c le</span>.(<span.class="tok-null
5bc60 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 6e 20 63 6c ">true</span>).{</span>.<span.cl
5bc80 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 6e 20 63 6c ass="line">........i.+=.<span.cl
5bca0 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
5bcc0 3e 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
5bce0 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 69 20 26 an.class="tok-kw">if</span>.(i.&
5bd00 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 30 3c lt;.<span.class="tok-number">10<
5bd20 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 6c 69 6e 65 /span>)</span>.<span.class="line
5bd40 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 6b ">............<span.class="tok-k
5bd60 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 6e w">continue</span>;</span>.<span
5bd80 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
5bda0 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 61 6e 3e 0a s="tok-kw">break</span>;</span>.
5bdc0 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>.
5bde0 3c 73 70 61 6e 20 63 6c 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
5be00 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 20 ss="tok-kw">try</span>.expect(i.
5be20 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 3c 2f ==.<span.class="tok-number">10</
5be40 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
5be60 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>
5be80 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c <figure><figcaption.class="shell
5bea0 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
5bec0 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 mp><span.class="line">$.<kbd>zig
5bee0 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .test.while.zig</kbd></span>.<sp
5bf00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 an.class="line">1/1.test.&quot;w
5bf20 68 69 6c 65 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e hile.continue&quot;....OK</span>
5bf40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 .<span.class="line">All.1.tests.
5bf60 70 61 73 73 65 64 2e 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 passed.</span>.</samp></pre></fi
5bf80 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 6f 70 gure>.......<p>.......While.loop
5bfa0 73 20 73 75 70 70 6f 72 74 20 61 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 20 s.support.a.continue.expression.
5bfc0 77 68 69 63 68 20 69 73 20 65 78 65 63 75 74 65 64 20 77 68 65 6e 20 74 68 65 20 6c 6f 6f 70 0a which.is.executed.when.the.loop.
5bfe0 20 20 20 20 20 20 69 73 20 63 6f 6e 74 69 6e 75 65 64 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 ......is.continued..The.<code><s
5c000 70 61 6e 20 63 6c 61 73 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
5c020 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 63 6f k-kw">continue</span></span></co
5c040 64 65 3e 20 6b 65 79 77 6f 72 64 20 72 65 73 70 65 63 74 73 20 74 68 69 73 20 65 78 70 72 65 73 de>.keyword.respects.this.expres
5c060 73 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 3c sion........</p>.......<figure><
5c080 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
5c0a0 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f .class="file">while.zig</cite></
5c0c0 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
5c0e0 73 3d 22 6c 69 6e 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
5c100 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=
5c120 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
5c140 61 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
5c160 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
5c180 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
5c1a0 61 6e 20 63 6c 61 73 73 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
5c1c0 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
5c1e0 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
5c200 20 65 78 70 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e .expression&quot;</span>.{</span
5c220 3e 0a 3c 73 70 61 6e 20 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
5c240 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 lass="tok-kw">var</span>.i:.<spa
5c260 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>.
5c280 3d 20 3c 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
5c2a0 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">.
5c2c0 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 73 ...<span.class="tok-kw">while</s
5c2e0 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
5c300 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 73 70 61 6e 20 63 mber">10</span>).:.(i.+=.<span.c
5c320 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f lass="tok-number">1</span>).{}</
5c340 73 70 61 6e 3e 0a 3c 73 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
5c360 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
5c380 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 65 72 ect(i.==.<span.class="tok-number
5c3a0 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 73 73 ">10</span>);</span>.<span.class
5c3c0 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
5c3e0 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"><
5c400 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>.
5c420 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c <span.class="tok-str">&quot;whil
5c440 65 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 6d 6f 72 65 e.loop.continue.expression,.more
5c460 20 63 6f 6d 70 6c 69 63 61 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 .complicated&quot;</span>.{</spa
5c480 6e 3e 0a 3c 73 70 61 6e 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.
5c4a0 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
5c4c0 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>
5c4e0 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
5c500 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">
5c520 20 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
5c540 61 6e 3e 20 6a 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 an>.j:.<span.class="tok-type">us
5c560 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ize</span>.=.<span.class="tok-nu
5c580 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
5c5a0 73 73 3d 22 6c 69 6e 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
5c5c0 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 2a 20 6a 20 26 6c 74 3b 20 3c 73 70 61 w">while</span>.(i.*.j.&lt;.<spa
5c5e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 30 30 3c 2f 73 70 61 6e 3e n.class="tok-number">2000</span>
5c600 29 20 3a 20 28 7b 20 69 20 2a 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ).:.({.i.*=.<span.class="tok-num
5c620 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 20 6a 20 2a 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ber">2</span>;.j.*=.<span.class=
5c640 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 20 7d 29 20 7b 3c 2f 73 70 61 "tok-number">3</span>;.}).{</spa
5c660 6e 3e 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
5c680 70 61 6e 20 63 6c 61 73 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>.
5c6a0 6d 79 5f 69 6a 20 3d 20 69 20 2a 20 6a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 my_ij.=.i.*.j;</span>.<span.clas
5c6c0 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
5c6e0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 79 5f 69 6a 20 26 6c k-kw">try</span>.expect(my_ij.&l
5c700 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 30 30 t;.<span.class="tok-number">2000
5c720 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
5c740 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
5c760 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
5c780 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
5c7a0 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><
5c7c0 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a samp><span.class="line">$.<kbd>z
5c7e0 69 67 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c ig.test.while.zig</kbd></span>.<
5c800 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 span.class="line">1/2.test.&quot
5c820 3b 77 68 69 6c 65 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 26 ;while.loop.continue.expression&
5c840 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;....OK</span>.<span.class="
5c860 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 6c 6f 6f 70 20 line">2/2.test.&quot;while.loop.
5c880 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 continue.expression,.more.compli
5c8a0 63 61 74 65 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 cated&quot;....OK</span>.<span.c
5c8c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c lass="line">All.2.tests.passed.<
5c8e0 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>...
5c900 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 69 6c 65 20 6c 6f 6f 70 73 20 61 72 65 20 65 78 ....<p>.......While.loops.are.ex
5c920 70 72 65 73 73 69 6f 6e 73 2e 20 54 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 65 78 70 pressions..The.result.of.the.exp
5c940 72 65 73 73 69 6f 6e 20 69 73 20 74 68 65 0a 20 20 20 20 20 20 72 65 73 75 6c 74 20 6f 66 20 74 ression.is.the.......result.of.t
5c960 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 61 he.<code><span.class="line"><spa
5c980 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 73 70 n.class="tok-kw">else</span></sp
5c9a0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6c 61 75 73 65 20 6f 66 20 61 20 77 68 69 6c 65 20 6c 6f 6f an></code>.clause.of.a.while.loo
5c9c0 70 2c 20 77 68 69 63 68 20 69 73 20 65 78 65 63 75 74 65 64 20 77 68 65 6e 0a 20 20 20 20 20 20 p,.which.is.executed.when.......
5c9e0 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 68 69 6c 65 20 6c 6f 6f 70 20 the.condition.of.the.while.loop.
5ca00 69 73 20 74 65 73 74 65 64 20 61 73 20 66 61 6c 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 is.tested.as.false........</p>..
5ca20 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
5ca40 3d 22 6c 69 6e 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
5ca60 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 6c 69 6b 65 20 3c 63 ak</span></span></code>,.like.<c
5ca80 6f 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
5caa0 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 73 70 61 6e 3e ss="tok-kw">return</span></span>
5cac0 3c 2f 63 6f 64 65 3e 2c 20 61 63 63 65 70 74 73 20 61 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 </code>,.accepts.a.value........
5cae0 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 72 65 .......parameter..This.is.the.re
5cb00 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 6c sult.of.the.<code><span.class="l
5cb20 69 6e 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 3c ine"><span.class="tok-kw">while<
5cb40 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 2e /span></span></code>.expression.
5cb60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 79 6f 75 20 3c 63 6f 64 ...................When.you.<cod
5cb80 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
5cba0 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 63 ="tok-kw">break</span></span></c
5cbc0 6f 64 65 3e 20 66 72 6f 6d 20 61 20 77 68 69 6c 65 20 6c 6f 6f 70 2c 20 74 68 65 20 3c 63 6f 64 ode>.from.a.while.loop,.the.<cod
5cbe0 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
5cc00 3d 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 ="tok-kw">else</span></span></co
5cc20 64 65 3e 20 62 72 61 6e 63 68 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 65 76 61 6c 75 61 74 65 de>.branch.is.not.......evaluate
5cc40 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 d........</p>.......<figure><fig
5cc60 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
5cc80 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ass="file">while.zig</cite></fig
5cca0 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="
5ccc0 6c 69 6e 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
5cce0 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
5cd00 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.
5cd20 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;<
5cd40 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>.<
5cd60 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.
5cd80 63 6c 61 73 73 3d 22 6c 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
5cda0 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
5cdc0 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 65 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e tr">&quot;while.else&quot;</span
5cde0 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">..
5ce00 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
5ce20 3e 20 65 78 70 65 63 74 28 72 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 28 3c 73 70 61 6e 20 63 6c >.expect(rangeHasNumber(<span.cl
5ce40 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 20 3c 73 70 61 6e ass="tok-number">0</span>,.<span
5ce60 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 3c .class="tok-number">10</span>,.<
5ce80 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>
5cea0 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 20 ));</span>.<span.class="line">..
5cec0 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
5cee0 3e 20 65 78 70 65 63 74 28 21 72 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 28 3c 73 70 61 6e 20 63 >.expect(!rangeHasNumber(<span.c
5cf00 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 20 3c 73 70 61 lass="tok-number">0</span>,.<spa
5cf20 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 2c 20 n.class="tok-number">10</span>,.
5cf40 3c 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 35 3c 2f 73 70 61 <span.class="tok-number">15</spa
5cf60 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">
5cf80 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
5cfa0 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
5cfc0 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
5cfe0 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e s="tok-fn">rangeHasNumber</span>
5d000 28 62 65 67 69 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 (begin:.<span.class="tok-type">u
5d020 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 65 6e 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 size</span>,.end:.<span.class="t
5d040 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 6e 75 6d 62 65 72 3a 20 3c ok-type">usize</span>,.number:.<
5d060 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
5d080 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c n>).<span.class="tok-type">bool<
5d0a0 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
5d0c0 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<
5d0e0 2f 73 70 61 6e 3e 20 69 20 3d 20 62 65 67 69 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 /span>.i.=.begin;</span>.<span.c
5d100 6c 61 73 73 3d 22 6c 69 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
5d120 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="
5d140 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 65 6e 64 tok-kw">while</span>.(i.&lt;.end
5d160 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
5d180 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 6c 61 73 r">1</span>).{</span>.<span.clas
5d1a0 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
5d1c0 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 20 3d 3d 20 6e 75 6d 62 65 72 29 20 7b 3c k-kw">if</span>.(i.==.number).{<
5d1e0 2f 73 70 61 6e 3e 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">......
5d200 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
5d220 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 </span>.<span.class="tok-null">t
5d240 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 22 rue</span>;</span>.<span.class="
5d260 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 6c 61 line">........}</span>.<span.cla
5d280 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 6b ss="line">....}.<span.class="tok
5d2a0 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f -kw">else</span>.<span.class="to
5d2c0 6b 2d 6e 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 k-null">false</span>;</span>.<sp
5d2e0 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><
5d300 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
5d320 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
5d340 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><samp><span.class="li
5d360 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b ne">$.<kbd>zig.test.while.zig</k
5d380 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f bd></span>.<span.class="line">1/
5d3a0 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 65 6c 73 65 26 71 75 6f 74 3b 2e 2e 2e 1.test.&quot;while.else&quot;...
5d3c0 20 4f 4b 3c 2f 73 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 6c .OK</span>.<span.class="line">Al
5d3e0 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e l.1.tests.passed.</span>.</samp>
5d400 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 3d 22 4c 61 </pre></figure>.......<h3.id="La
5d420 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 61 62 65 6c beled-while"><a.href="#toc-Label
5d440 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 3c 61 20 63 ed-while">Labeled.while</a>.<a.c
5d460 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 69 6c 65 22 lass="hdr".href="#Labeled-while"
5d480 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 61 20 3c 63 >..</a></h3>........<p>When.a.<c
5d4a0 6f 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
5d4c0 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><
5d4e0 2f 63 6f 64 65 3e 20 6c 6f 6f 70 20 69 73 20 6c 61 62 65 6c 65 64 2c 20 69 74 20 63 61 6e 20 62 /code>.loop.is.labeled,.it.can.b
5d500 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 e.referenced.from.a.<code><span.
5d520 63 6c 61 73 73 3d 22 6c 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
5d540 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 20 20 20 ">break</span></span></code>....
5d560 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 73 73 3d ...........or.<code><span.class=
5d580 22 6c 69 6e 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 74 "line"><span.class="tok-kw">cont
5d5a0 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 6d 20 77 inue</span></span></code>.from.w
5d5c0 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 20 20 3c ithin.a.nested.loop:</p>.......<
5d5e0 66 69 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
5d600 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 65 73 74 65 p"><cite.class="file">test_neste
5d620 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c d_break.zig</cite></figcaption><
5d640 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
5d660 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
5d680 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 pan.class="tok-str">&quot;nested
5d6a0 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 6e 3e 0a 3c 73 70 .break&quot;</span>.{</span>.<sp
5d6c0 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 70 61 6e an.class="line">....outer:.<span
5d6e0 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
5d700 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>
5d720 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">..
5d740 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
5d760 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">
5d780 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
5d7a0 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
5d7c0 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 3c 2f ="tok-kw">break</span>.:outer;</
5d7e0 73 70 61 6e 3e 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">.......
5d800 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">...
5d820 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 2f .}</span>.<span.class="line">}</
5d840 73 70 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>
5d860 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=
5d880 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
5d8a0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 ="tok-str">&quot;nested.continue
5d8c0 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
5d8e0 73 73 3d 22 6c 69 6e 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
5d900 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 6f w">var</span>.i:.<span.class="to
5d920 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 k-type">usize</span>.=.<span.cla
5d940 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>
5d960 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 74 65 72 3a 20 3c .<span.class="line">....outer:.<
5d980 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>
5d9a0 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .(i.&lt;.<span.class="tok-number
5d9c0 22 3e 31 30 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 61 73 73 ">10</span>).:.(i.+=.<span.class
5d9e0 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 61 6e 3e ="tok-number">1</span>).{</span>
5da00 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
5da20 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 3c n.class="tok-kw">while</span>.(<
5da40 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
5da60 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">.
5da80 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">
5daa0 63 6f 6e 74 69 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 continue</span>.:outer;</span>.<
5dac0 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 70 61 span.class="line">........}</spa
5dae0 6e 3e 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
5db00 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></
5db20 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
5db40 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<
5db60 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><samp><span.cla
5db80 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e ss="line">$.<kbd>zig.test.test_n
5dba0 65 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ested_break.zig</kbd></span>.<sp
5dbc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 6e an.class="line">1/2.test.&quot;n
5dbe0 65 73 74 65 64 20 62 72 65 61 6b 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c ested.break&quot;....OK</span>.<
5dc00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 span.class="line">2/2.test.&quot
5dc20 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 ;nested.continue&quot;....OK</sp
5dc40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 an>.<span.class="line">All.2.tes
5dc60 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c ts.passed.</span>.</samp></pre><
5dc80 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 77 68 /figure>..............<h3.id="wh
5dca0 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ile-with-Optionals"><a.href="#to
5dcc0 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 77 68 69 6c 65 20 77 69 c-while-with-Optionals">while.wi
5dce0 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 th.Optionals</a>.<a.class="hdr".
5dd00 68 72 65 66 3d 22 23 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c href="#while-with-Optionals">..<
5dd20 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 6c /a></h3>........<p>.......Just.l
5dd40 69 6b 65 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 73 73 ike.<a.href="#if">if</a>.express
5dd60 69 6f 6e 73 2c 20 77 68 69 6c 65 20 6c 6f 6f 70 73 20 63 61 6e 20 74 61 6b 65 20 61 6e 20 6f 70 ions,.while.loops.can.take.an.op
5dd80 74 69 6f 6e 61 6c 20 61 73 20 74 68 65 0a 20 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e tional.as.the.......condition.an
5dda0 64 20 63 61 70 74 75 72 65 20 74 68 65 20 70 61 79 6c 6f 61 64 2e 20 57 68 65 6e 20 3c 61 20 68 d.capture.the.payload..When.<a.h
5ddc0 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 69 73 20 65 6e 63 6f 75 6e 74 65 ref="#null">null</a>.is.encounte
5dde0 72 65 64 20 74 68 65 20 6c 6f 6f 70 0a 20 20 20 20 20 20 65 78 69 74 73 2e 0a 20 20 20 20 20 20 red.the.loop.......exits........
5de00 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
5de20 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7c 78 7c 3c 2f 73 70 61 6e ode><span.class="line">|x|</span
5de40 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 20 ></code>.syntax.is.present.on.a.
5de60 3c 63 6f 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
5de80 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 6e lass="tok-kw">while</span></span
5dea0 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 77 ></code>.expression,.......the.w
5dec0 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 68 hile.condition.must.have.an.<a.h
5dee0 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 4f 70 74 69 6f 6e 61 6c 20 54 79 ref="#Optional-Type">Optional.Ty
5df00 70 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 pe</a>........</p>.......<p>....
5df20 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">
5df40 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>
5df60 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 72 61 6e 63 68 20 69 73 20 61 6c 6c 6f 77 65 64 </span></code>.branch.is.allowed
5df80 20 6f 6e 20 6f 70 74 69 6f 6e 61 6c 20 69 74 65 72 61 74 69 6f 6e 2e 20 49 6e 20 74 68 69 73 20 .on.optional.iteration..In.this.
5dfa0 63 61 73 65 2c 20 69 74 20 77 69 6c 6c 0a 20 20 20 20 20 20 62 65 20 65 78 65 63 75 74 65 64 20 case,.it.will.......be.executed.
5dfc0 6f 6e 20 74 68 65 20 66 69 72 73 74 20 6e 75 6c 6c 20 76 61 6c 75 65 20 65 6e 63 6f 75 6e 74 65 on.the.first.null.value.encounte
5dfe0 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 red........</p>.......<figure><f
5e000 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.
5e020 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 class="file">while.zig</cite></f
5e040 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
5e060 3d 22 6c 69 6e 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
5e080 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="
5e0a0 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
5e0c0 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
5e0e0 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>
5e100 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
5e120 6e 20 63 6c 61 73 73 3d 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-
5e140 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
5e160 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 26 71 -str">&quot;while.null.capture&q
5e180 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
5e1a0 3d 22 6c 69 6e 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"
5e1c0 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 22 74 >var</span>.sum1:.<span.class="t
5e1e0 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
5e200 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>.
5e220 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 5f 6c <span.class="line">....numbers_l
5e240 65 66 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 eft.=.<span.class="tok-number">3
5e260 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
5e280 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
5e2a0 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 63 65 e</span>.(eventuallyNullSequence
5e2c0 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 73 73 ()).|value|.{</span>.<span.class
5e2e0 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 3c 2f ="line">........sum1.+=.value;</
5e300 73 70 61 6e 3e 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">....}</
5e320 73 70 61 6e 3e 0a 3c 73 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
5e340 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
5e360 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 75 6d ect(sum1.==.<span.class="tok-num
5e380 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 61 ber">3</span>);</span>.<span.cla
5e3a0 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
5e3c0 69 6e 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
5e3e0 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 6b 2d r</span>.sum2:.<span.class="tok-
5e400 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="
5e420 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
5e440 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 66 74 an.class="line">....numbers_left
5e460 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 73 .=.<span.class="tok-number">3</s
5e480 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">
5e4a0 20 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</
5e4c0 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 29 29 span>.(eventuallyNullSequence())
5e4e0 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 6c .|value|.{</span>.<span.class="l
5e500 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 70 61 ine">........sum2.+=.value;</spa
5e520 6e 3e 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
5e540 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 3c 2f n.class="tok-kw">else</span>.{</
5e560 73 70 61 6e 3e 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">.......
5e580 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>
5e5a0 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 6f 6b .expect(sum2.==.<span.class="tok
5e5c0 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 6e -number">3</span>);</span>.<span
5e5e0 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
5e600 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
5e620 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
5e640 69 6e 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
5e660 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 3d 22 pan>.numbers_left:.<span.class="
5e680 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
5e6a0 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 3c ss="tok-null">undefined</span>;<
5e6c0 2f 73 70 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.
5e6e0 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
5e700 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 71 75 lass="tok-fn">eventuallyNullSequ
5e720 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 6b 2d ence</span>().?<span.class="tok-
5e740 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.
5e760 63 6c 61 73 73 3d 22 6c 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
5e780 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">return</span>.<span.class=
5e7a0 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 66 74 "tok-kw">if</span>.(numbers_left
5e7c0 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</
5e7e0 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 6e 75 span>).<span.class="tok-null">nu
5e800 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 3e 65 ll</span>.<span.class="tok-kw">e
5e820 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 20 63 lse</span>.blk:.{</span>.<span.c
5e840 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 66 74 lass="line">........numbers_left
5e860 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 3c 2f .-=.<span.class="tok-number">1</
5e880 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"
5e8a0 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 62 72 >........<span.class="tok-kw">br
5e8c0 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 2f 73 eak</span>.:blk.numbers_left;</s
5e8e0 70 61 6e 3e 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 pan>.<span.class="line">....};</
5e900 73 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
5e920 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><
5e940 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
5e960 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 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
5e980 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 77 68 69 class="line">$.<kbd>zig.test.whi
5e9a0 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d le.zig</kbd></span>.<span.class=
5e9c0 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 6e 75 6c 6c "line">1/1.test.&quot;while.null
5e9e0 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .capture&quot;....OK</span>.<spa
5ea00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 n.class="line">All.1.tests.passe
5ea20 64 2e 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 d.</span>.</samp></pre></figure>
5ea40 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 77 68 69 6c 65 2d 77 69 74 ...............<h3.id="while-wit
5ea60 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 68 h-Error-Unions"><a.href="#toc-wh
5ea80 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 77 68 69 6c 65 20 77 69 74 ile-with-Error-Unions">while.wit
5eaa0 68 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 h.Error.Unions</a>.<a.class="hdr
5eac0 22 20 68 72 65 66 3d 22 23 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 ".href="#while-with-Error-Unions
5eae0 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 4a ">..</a></h3>........<p>.......J
5eb00 75 73 74 20 6c 69 6b 65 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 ust.like.<a.href="#if">if</a>.ex
5eb20 70 72 65 73 73 69 6f 6e 73 2c 20 77 68 69 6c 65 20 6c 6f 6f 70 73 20 63 61 6e 20 74 61 6b 65 20 pressions,.while.loops.can.take.
5eb40 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 61 73 0a 20 20 20 20 20 20 74 68 65 20 63 6f 6e 64 an.error.union.as.......the.cond
5eb60 69 74 69 6f 6e 20 61 6e 64 20 63 61 70 74 75 72 65 20 74 68 65 20 70 61 79 6c 6f 61 64 20 6f 72 ition.and.capture.the.payload.or
5eb80 20 74 68 65 20 65 72 72 6f 72 20 63 6f 64 65 2e 20 57 68 65 6e 20 74 68 65 0a 20 20 20 20 20 20 .the.error.code..When.the.......
5eba0 63 6f 6e 64 69 74 69 6f 6e 20 72 65 73 75 6c 74 73 20 69 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f condition.results.in.an.error.co
5ebc0 64 65 20 74 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 de.the.else.branch.is.evaluated.
5ebe0 61 6e 64 0a 20 20 20 20 20 20 74 68 65 20 6c 6f 6f 70 20 69 73 20 66 69 6e 69 73 68 65 64 2e 0a and.......the.loop.is.finished..
5ec00 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.
5ec20 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
5ec40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 78 an.class="tok-kw">else</span>.|x
5ec60 7c 3c 2f 73 70 61 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 |</span></code>.syntax.is.presen
5ec80 74 20 6f 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e t.on.a.<code><span.class="line">
5eca0 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 6e <span.class="tok-kw">while</span
5ecc0 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 2c 0a 20 20 20 20 ></span></code>.expression,.....
5ece0 20 20 74 68 65 20 77 68 69 6c 65 20 63 6f 6e 64 69 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 ..the.while.condition.must.have.
5ed00 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 an.<a.href="#Error-Union-Type">E
5ed20 72 72 6f 72 20 55 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 rror.Union.Type</a>........</p>.
5ed40 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=
5ed60 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 68 69 "zig-cap"><cite.class="file">whi
5ed80 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c le.zig</cite></figcaption><pre><
5eda0 63 6f 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
5edc0 61 73 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
5ede0 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
5ee00 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
5ee20 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e ">&quot;std&quot;</span>).testin
5ee40 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
5ee60 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"><
5ee80 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>.
5eea0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c <span.class="tok-str">&quot;whil
5eec0 65 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b 3c 2f 73 70 61 e.error.union.capture&quot;</spa
5eee0 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">.
5ef00 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
5ef20 6e 3e 20 73 75 6d 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e n>.sum1:.<span.class="tok-type">
5ef40 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
5ef60 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 61 mber">0</span>;</span>.<span.cla
5ef80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 20 3c 73 70 ss="line">....numbers_left.=.<sp
5efa0 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 3c an.class="tok-number">3</span>;<
5efc0 2f 73 70 61 6e 3e 0a 3c 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
5efe0 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 20 pan.class="tok-kw">while</span>.
5f000 28 65 76 65 6e 74 75 61 6c 6c 79 45 72 72 6f 72 53 65 71 75 65 6e 63 65 28 29 29 20 7c 76 61 6c (eventuallyErrorSequence()).|val
5f020 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 65 22 3e ue|.{</span>.<span.class="line">
5f040 20 20 20 20 20 20 20 20 73 75 6d 31 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ........sum1.+=.value;</span>.<s
5f060 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 61 pan.class="line">....}.<span.cla
5f080 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 3c ss="tok-kw">else</span>.|err|.{<
5f0a0 2f 73 70 61 6e 3e 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">......
5f0c0 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
5f0e0 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 6b >.expect(err.==.<span.class="tok
5f100 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 52 65 61 63 68 65 64 5a 65 72 6f 29 3b 3c -kw">error</span>.ReachedZero);<
5f120 2f 73 70 61 6e 3e 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">....}<
5f140 2f 73 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
5f160 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
5f180 70 61 6e 20 63 6c 61 73 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
5f1a0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3a 20 3c k-kw">var</span>.numbers_left:.<
5f1c0 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>
5f1e0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 .=.<span.class="tok-null">undefi
5f200 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 73 3d 22 ned</span>;</span>.<span.class="
5f220 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"
5f240 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>.
5f260 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 76 65 6e 74 75 61 6c 6c 79 45 <span.class="tok-fn">eventuallyE
5f280 72 72 6f 72 53 65 71 75 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 rrorSequence</span>().<span.clas
5f2a0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 s="tok-type">anyerror</span>!<sp
5f2c0 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>.{
5f2e0 3c 2f 73 70 61 6e 3e 0a 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">....<
5f300 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
5f320 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e >.<span.class="tok-kw">if</span>
5f340 20 28 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .(numbers_left.==.<span.class="t
5f360 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">0</span>).<span.class
5f380 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 52 65 61 63 68 65 64 5a 65 ="tok-kw">error</span>.ReachedZe
5f3a0 72 6f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 ro.<span.class="tok-kw">else</sp
5f3c0 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
5f3e0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 2d 3d 20 3c 73 70 ine">........numbers_left.-=.<sp
5f400 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>;<
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 62 72 65 61 6b 3c 2f 73 70 ..<span.class="tok-kw">break</sp
5f460 61 6e 3e 20 3a 62 6c 6b 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 an>.:blk.numbers_left;</span>.<s
5f480 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 3c pan.class="line">....};</span>.<
5f4a0 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
5f4c0 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
5f4e0 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
5f500 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
5f520 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 3c line">$.<kbd>zig.test.while.zig<
5f540 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
5f560 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 65 72 72 6f 72 20 75 6e 69 6f 6e 1/1.test.&quot;while.error.union
5f580 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .capture&quot;....OK</span>.<spa
5f5a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 n.class="line">All.1.tests.passe
5f5c0 64 2e 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 d.</span>.</samp></pre></figure>
5f5e0 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 69 6e 65 2d 77 68 ...............<h3.id="inline-wh
5f600 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 77 68 69 6c 65 22 ile"><a.href="#toc-inline-while"
5f620 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 3d 22 68 64 72 22 >inline.while</a>.<a.class="hdr"
5f640 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 61 3e 3c 2f 68 33 .href="#inline-while">..</a></h3
5f660 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 6f 6f 70 73 20 63 >........<p>.......While.loops.c
5f680 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 20 74 68 65 20 6c an.be.inlined..This.causes.the.l
5f6a0 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 20 20 20 20 20 20 oop.to.be.unrolled,.which.......
5f6c0 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 20 74 68 69 6e 67 allows.the.code.to.do.some.thing
5f6e0 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 6c 65 20 74 69 6d s.which.only.work.at.compile.tim
5f700 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 20 61 73 20 66 69 e,.......such.as.use.types.as.fi
5f720 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 70 3e 0a 20 20 20 rst.class.values........</p>....
5f740 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
5f760 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 g-cap"><cite.class="file">test_i
5f780 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 67 63 61 70 74 69 nline_while.zig</cite></figcapti
5f7a0 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"
5f7c0 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
5f7e0 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 n>.expect.=.<span.class="tok-bui
5f800 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
5f820 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
5f840 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 20 >).testing.expect;</span>.<span.
5f860 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
5f880 3d 22 6c 69 6e 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
5f8a0 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">&
5f8c0 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 74 3b 3c 2f 73 70 quot;inline.while.loop&quot;</sp
5f8e0 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">
5f900 20 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
5f920 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 61 e</span>.<span.class="tok-kw">va
5f940 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 6e 75 r</span>.i.=.<span.class="tok-nu
5f960 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 61 mber">0</span>;</span>.<span.cla
5f980 73 73 3d 22 6c 69 6e 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
5f9a0 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="
5f9c0 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 tok-type">usize</span>.=.<span.c
5f9e0 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 61 lass="tok-number">0</span>;</spa
5fa00 6e 3e 0a 3c 73 70 61 6e 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.
5fa20 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
5fa40 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>.(
5fa60 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 3e i.&lt;.<span.class="tok-number">
5fa80 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 61 73 73 3d 22 74 3</span>).:.(i.+=.<span.class="t
5faa0 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 61 6e 3e 0a 3c 73 ok-number">1</span>).{</span>.<s
5fac0 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
5fae0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 20 3d 20 3c lass="tok-kw">const</span>.T.=.<
5fb00 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
5fb20 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 6e 65 >.(i).{</span>.<span.class="line
5fb40 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 6e ">............<span.class="tok-n
5fb60 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 61 73 umber">0</span>.=&gt;.<span.clas
5fb80 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 0a s="tok-type">f32</span>,</span>.
5fba0 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">............<
5fbc0 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>
5fbe0 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 69 38 .=&gt;.<span.class="tok-type">i8
5fc00 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
5fc20 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-
5fc40 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 61 number">2</span>.=&gt;.<span.cla
5fc60 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 61 6e ss="tok-type">bool</span>,</span
5fc80 3e 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">...........
5fca0 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
5fcc0 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 6e 72 >.=&gt;.<span.class="tok-kw">unr
5fce0 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 63 6c eachable</span>,</span>.<span.cl
5fd00 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 73 70 ass="line">........};</span>.<sp
5fd20 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 20 74 an.class="line">........sum.+=.t
5fd40 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 20 63 ypeNameLength(T);</span>.<span.c
5fd60 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
5fd80 6c 61 73 73 3d 22 6c 69 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
5fda0 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 3c 73 -kw">try</span>.expect(sum.==.<s
5fdc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">9</span>)
5fde0 3b 3c 2f 73 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
5fe00 70 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>.
5fe20 3c 73 70 61 6e 20 63 6c 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="
5fe40 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
5fe60 6f 6b 2d 66 6e 22 3e 74 79 70 65 4e 61 6d 65 4c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 28 3c 73 70 ok-fn">typeNameLength</span>(<sp
5fe80 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
5fea0 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
5fec0 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">
5fee0 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 61 73 usize</span>.{</span>.<span.clas
5ff00 73 3d 22 6c 69 6e 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
5ff20 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
5ff40 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 6c 65 -builtin">@typeName</span>(T).le
5ff60 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 3c 2f n;</span>.<span.class="line">}</
5ff80 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
5ffa0 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"
5ffc0 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 3c 73 >Shell</figcaption><pre><samp><s
5ffe0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 pan.class="line">$.<kbd>zig.test
60000 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 .test_inline_while.zig</kbd></sp
60020 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 an>.<span.class="line">1/1.test.
60040 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 74 3b 2e 2e 2e &quot;inline.while.loop&quot;...
60060 20 4f 4b 3c 2f 73 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 6c .OK</span>.<span.class="line">Al
60080 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e l.1.tests.passed.</span>.</samp>
600a0 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>.......
600c0 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 64 65 3e 3c It.is.recommended.to.use.<code><
600e0 73 70 61 6e 20 63 6c 61 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
60100 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 63 6f 64 ok-kw">inline</span></span></cod
60120 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 73 65 20 72 e>.loops.only.for.one.of.these.r
60140 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 3e 0a 20 20 easons:.......</p>.......<ul>...
60160 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 74 6f 20 65 ......<li>You.need.the.loop.to.e
60180 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 22 3e 63 6f xecute.at.<a.href="#comptime">co
601a0 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 20 74 6f 20 mptime</a>.for.the.semantics.to.
601c0 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 20 20 20 20 work.</li>.........<li>.........
601e0 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 65 20 74 68 You.have.a.benchmark.to.prove.th
60200 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 6f 70 20 69 at.forcibly.unrolling.the.loop.i
60220 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 74 65 72 2e n.this.way.is.measurably.faster.
60240 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>......
60260 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 3c 6c 69 ........<p>See.also:</p><ul>.<li
60280 3e 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c ><a.href="#if">if</a></li>.<li><
602a0 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 2f 61 a.href="#Optionals">Optionals</a
602c0 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 ></li>.<li><a.href="#Errors">Err
602e0 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 63 6f 6d 70 74 ors</a></li>.<li><a.href="#compt
60300 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 ime">comptime</a></li>.<li><a.hr
60320 65 66 3d 22 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 ef="#unreachable">unreachable</a
60340 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 32 20 69 ></li>.</ul>...............<h2.i
60360 64 3d 22 66 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 6f 72 22 3e 66 6f 72 3c 2f d="for"><a.href="#toc-for">for</
60380 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 6f 72 22 3e c2 a7 a>.<a.class="hdr".href="#for">..
603a0 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
603c0 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
603e0 3d 22 66 69 6c 65 22 3e 66 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 ="file">for.zig</cite></figcapti
60400 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"
60420 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
60440 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 n>.expect.=.<span.class="tok-bui
60460 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
60480 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
604a0 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 20 >).testing.expect;</span>.<span.
604c0 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
604e0 3d 22 6c 69 6e 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
60500 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">&
60520 71 75 6f 74 3b 66 6f 72 20 62 61 73 69 63 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f quot;for.basics&quot;</span>.{</
60540 73 70 61 6e 3e 0a 3c 73 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
60560 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 an.class="tok-kw">const</span>.i
60580 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"
605a0 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
605c0 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">4</span>,.<span.class="to
605e0 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">5</span>,.<span.class=
60600 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">3</span>,.<span.cla
60620 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">4</span>,.<span.
60640 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>.};</
60660 73 70 61 6e 3e 0a 3c 73 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
60680 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
606a0 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
606c0 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
606e0 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
60700 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">..
60720 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 46 ..<span.class="tok-comment">//.F
60740 6f 72 20 6c 6f 6f 70 73 20 69 74 65 72 61 74 65 20 6f 76 65 72 20 73 6c 69 63 65 73 20 61 6e 64 or.loops.iterate.over.slices.and
60760 20 61 72 72 61 79 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 .arrays.</span></span>.<span.cla
60780 73 73 3d 22 6c 69 6e 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
607a0 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 29 20 7c 76 61 6c 75 65 7c 20 7b 3c w">for</span>.(items).|value|.{<
607c0 2f 73 70 61 6e 3e 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">......
607e0 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 42 ..<span.class="tok-comment">//.B
60800 72 65 61 6b 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 2e reak.and.continue.are.supported.
60820 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
60840 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 69 ">........<span.class="tok-kw">i
60860 66 3c 2f 73 70 61 6e 3e 20 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 f</span>.(value.==.<span.class="
60880 74 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 tok-number">0</span>).{</span>.<
608a0 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
608c0 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
608e0 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">..
60900 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
60920 22 3e 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c ">........sum.+=.value;</span>.<
60940 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>.<
60960 73 70 61 6e 20 63 6c 61 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
60980 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
609a0 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 36 3c .==.<span.class="tok-number">16<
609c0 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
609e0 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">..
60a00 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 ..<span.class="tok-comment">//.T
60a20 6f 20 69 74 65 72 61 74 65 20 6f 76 65 72 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 61 20 73 6c o.iterate.over.a.portion.of.a.sl
60a40 69 63 65 2c 20 72 65 73 6c 69 63 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ice,.reslice.</span></span>.<spa
60a60 6e 20 63 6c 61 73 73 3d 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="
60a80 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 tok-kw">for</span>.(items[<span.
60aa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 class="tok-number">0</span>..<sp
60ac0 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 29 an.class="tok-number">1</span>])
60ae0 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 6c .|value|.{</span>.<span.class="l
60b00 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e ine">........sum.+=.value;</span
60b20 3e 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
60b40 3e 0a 3c 73 70 61 6e 20 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
60b60 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(
60b80 73 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e sum.==.<span.class="tok-number">
60ba0 32 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 20</span>);</span>.<span.class="
60bc0 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"
60be0 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">/
60c00 2f 20 54 6f 20 61 63 63 65 73 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 69 74 65 72 61 74 69 /.To.access.the.index.of.iterati
60c20 6f 6e 2c 20 73 70 65 63 69 66 79 20 61 20 73 65 63 6f 6e 64 20 63 61 70 74 75 72 65 20 76 61 6c on,.specify.a.second.capture.val
60c40 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 73 73 3d 22 6c ue.</span></span>.<span.class="l
60c60 69 6e 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
60c80 74 22 3e 2f 2f 20 54 68 69 73 20 69 73 20 7a 65 72 6f 2d 69 6e 64 65 78 65 64 2e 3c 2f 73 70 61 t">//.This.is.zero-indexed.</spa
60ca0 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">...
60cc0 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>
60ce0 20 73 75 6d 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 .sum2:.<span.class="tok-type">i3
60d00 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
60d20 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
60d40 3d 22 6c 69 6e 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"
60d60 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 29 20 7c 5f 2c 20 69 7c 20 7b 3c 2f 73 70 >for</span>.(items).|_,.i|.{</sp
60d80 61 6e 3e 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">........<
60da0 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
60dc0 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">
60de0 40 54 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 @TypeOf</span>(i).==.<span.class
60e00 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ="tok-type">usize</span>);</span
60e20 3e 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 6d >.<span.class="line">........sum
60e40 32 20 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 2.+=.<span.class="tok-builtin">@
60e60 69 6e 74 43 61 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 intCast</span>(<span.class="tok-
60e80 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 69 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 type">i32</span>,.i);</span>.<sp
60ea0 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
60ec0 61 6e 20 63 6c 61 73 73 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=
60ee0 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 32 20 "tok-kw">try</span>.expect(sum2.
60f00 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 3c 2f ==.<span.class="tok-number">10</
60f20 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
60f40 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"></
60f60 73 70 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
60f80 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.
60fa0 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 72 65 66 65 72 65 class="tok-str">&quot;for.refere
60fc0 6e 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 nce&quot;</span>.{</span>.<span.
60fe0 63 6c 61 73 73 3d 22 6c 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
61000 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 k-kw">var</span>.items.=.[_]<spa
61020 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 20 n.class="tok-type">i32</span>.{.
61040 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e <span.class="tok-number">3</span
61060 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 >,.<span.class="tok-number">4</s
61080 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
610a0 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
610c0 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">
610e0 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">//
61100 20 49 74 65 72 61 74 65 20 6f 76 65 72 20 74 68 65 20 73 6c 69 63 65 20 62 79 20 72 65 66 65 72 .Iterate.over.the.slice.by.refer
61120 65 6e 63 65 20 62 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 ence.by</span></span>.<span.clas
61140 73 3d 22 6c 69 6e 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
61160 6d 6d 65 6e 74 22 3e 2f 2f 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 61 74 20 74 68 65 20 63 61 mment">//.specifying.that.the.ca
61180 70 74 75 72 65 20 76 61 6c 75 65 20 69 73 20 61 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e pture.value.is.a.pointer.</span>
611a0 3c 2f 73 70 61 6e 3e 0a 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">....<
611c0 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>.(
611e0 69 74 65 6d 73 29 20 7c 2a 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 items).|*value|.{</span>.<span.c
61200 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 2b 3d 20 3c lass="line">........value.*.+=.<
61220 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>
61240 3b 3c 2f 73 70 61 6e 3e 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">....
61260 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
61280 61 6e 3e 0a 3c 73 70 61 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
612a0 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
612c0 74 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 t(items[<span.class="tok-number"
612e0 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
61300 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
61320 6c 61 73 73 3d 22 6c 69 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
61340 2d 6b 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 -kw">try</span>.expect(items[<sp
61360 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>].
61380 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 ==.<span.class="tok-number">5</s
613a0 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"
613c0 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
613e0 70 61 6e 3e 20 65 78 70 65 63 74 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>.expect(items[<span.class="t
61400 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c ok-number">2</span>].==.<span.cl
61420 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 70 61 ass="tok-number">3</span>);</spa
61440 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>.<
61460 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.
61480 63 6c 61 73 73 3d 22 6c 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
614a0 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
614c0 74 72 22 3e 26 71 75 6f 74 3b 66 6f 72 20 65 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 tr">&quot;for.else&quot;</span>.
614e0 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">....
61500 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 6f 72 <span.class="tok-comment">//.For
61520 20 61 6c 6c 6f 77 73 20 61 6e 20 65 6c 73 65 20 61 74 74 61 63 68 65 64 20 74 6f 20 69 74 2c 20 .allows.an.else.attached.to.it,.
61540 74 68 65 20 73 61 6d 65 20 61 73 20 61 20 77 68 69 6c 65 20 6c 6f 6f 70 2e 3c 2f 73 70 61 6e 3e the.same.as.a.while.loop.</span>
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 20 20 20 20 3c </span>.<span.class="line">....<
61580 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
615a0 74 65 6d 73 20 3d 20 5b 5f 5d 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 tems.=.[_]?<span.class="tok-type
615c0 22 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 ">i32</span>.{.<span.class="tok-
615e0 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 74 number">3</span>,.<span.class="t
61600 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 73 73 ok-number">4</span>,.<span.class
61620 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ="tok-null">null</span>,.<span.c
61640 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 7d 3b 3c 2f 73 lass="tok-number">5</span>.};</s
61660 70 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>.
61680 3c 73 70 61 6e 20 63 6c 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
616a0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 6f 72 20 6c 6f 6f 70 73 20 63 61 ss="tok-comment">//.For.loops.ca
616c0 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 73 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 3c 2f n.also.be.used.as.expressions.</
616e0 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">
61700 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">//
61720 20 53 69 6d 69 6c 61 72 20 74 6f 20 77 68 69 6c 65 20 6c 6f 6f 70 73 2c 20 77 68 65 6e 20 79 6f .Similar.to.while.loops,.when.yo
61740 75 20 62 72 65 61 6b 20 66 72 6f 6d 20 61 20 66 6f 72 20 6c 6f 6f 70 2c 20 74 68 65 20 65 6c 73 u.break.from.a.for.loop,.the.els
61760 65 20 62 72 61 6e 63 68 20 69 73 20 6e 6f 74 20 65 76 61 6c 75 61 74 65 64 2e 3c 2f 73 70 61 6e e.branch.is.not.evaluated.</span
61780 3e 3c 2f 73 70 61 6e 3e 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">....
617a0 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>.
617c0 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c sum:.<span.class="tok-type">i32<
617e0 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
61800 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 22 ">0</span>;</span>.<span.class="
61820 6c 69 6e 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
61840 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 63 6c 61 73 73 onst</span>.result.=.<span.class
61860 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 29 20 7c 76 61 ="tok-kw">for</span>.(items).|va
61880 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 65 22 lue|.{</span>.<span.class="line"
618a0 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 69 66 >........<span.class="tok-kw">if
618c0 3c 2f 73 70 61 6e 3e 20 28 76 61 6c 75 65 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>.(value.!=.<span.class="t
618e0 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ok-null">null</span>).{</span>.<
61900 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 75 span.class="line">............su
61920 6d 20 2b 3d 20 76 61 6c 75 65 2e 3f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 m.+=.value.?;</span>.<span.class
61940 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
61960 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
61980 6f 6b 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 ok-kw">else</span>.blk:.{</span>
619a0 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
619c0 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
619e0 63 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ct(sum.==.<span.class="tok-numbe
61a00 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 6e 20 63 6c 61 73 r">12</span>);</span>.<span.clas
61a20 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
61a40 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 73 75 6d 3b 3c 2f 73 70 k-kw">break</span>.:blk.sum;</sp
61a60 61 6e 3e 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 an>.<span.class="line">....};</s
61a80 70 61 6e 3e 0a 3c 73 70 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
61aa0 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
61ac0 63 74 28 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ct(result.==.<span.class="tok-nu
61ae0 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 6e 20 63 mber">12</span>);</span>.<span.c
61b00 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
61b20 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
61b40 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
61b60 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
61b80 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 66 6f 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 $.<kbd>zig.test.for.zig</kbd></s
61ba0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 33 20 74 65 73 74 pan>.<span.class="line">1/3.test
61bc0 20 26 71 75 6f 74 3b 66 6f 72 20 62 61 73 69 63 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 .&quot;for.basics&quot;....OK</s
61be0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 33 20 74 65 73 74 pan>.<span.class="line">2/3.test
61c00 20 26 71 75 6f 74 3b 66 6f 72 20 72 65 66 65 72 65 6e 63 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b .&quot;for.reference&quot;....OK
61c20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 33 20 74 </span>.<span.class="line">3/3.t
61c40 65 73 74 20 26 71 75 6f 74 3b 66 6f 72 20 65 6c 73 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f est.&quot;for.else&quot;....OK</
61c60 73 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 6c 6c 20 33 20 74 span>.<span.class="line">All.3.t
61c80 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 ests.passed.</span>.</samp></pre
61ca0 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 4c 61 62 65 6c 65 64 ></figure>.......<h3.id="Labeled
61cc0 2d 66 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 66 6f 72 22 -for"><a.href="#toc-Labeled-for"
61ce0 3e 4c 61 62 65 6c 65 64 20 66 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 >Labeled.for</a>.<a.class="hdr".
61d00 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a href="#Labeled-for">..</a></h3>.
61d20 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .......<p>When.a.<code><span.cla
61d40 73 73 3d 22 6c 69 6e 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
61d60 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 20 69 73 20 or</span></span></code>.loop.is.
61d80 6c 61 62 65 6c 65 64 2c 20 69 74 20 63 61 6e 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 labeled,.it.can.be.referenced.fr
61da0 6f 6d 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 om.a.<code><span.class="line"><s
61dc0 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 3c pan.class="tok-kw">break</span><
61de0 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 6f 72 20 3c /span></code>...............or.<
61e00 63 6f 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
61e20 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ass="tok-kw">continue</span></sp
61e40 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 77 69 74 68 69 6e 20 61 20 6e 65 73 74 65 64 20 an></code>.from.within.a.nested.
61e60 6c 6f 6f 70 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 loop:</p>.......<figure><figcapt
61e80 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=
61ea0 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 "file">test_nested_break.zig</ci
61ec0 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
61ee0 20 63 6c 61 73 73 3d 22 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
61f00 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
61f20 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>(<
61f40 73 70 61 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
61f60 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
61f80 3d 22 6c 69 6e 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
61fa0 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
61fc0 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"
61fe0 3e 3c 2f 73 70 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
62000 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
62020 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 an.class="tok-str">&quot;nested.
62040 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 6e 3e 0a 3c 73 70 61 break&quot;</span>.{</span>.<spa
62060 6e 20 63 6c 61 73 73 3d 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="
62080 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 tok-kw">var</span>.count:.<span.
620a0 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>.=.
620c0 3c 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
620e0 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">...
62100 20 6f 75 74 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 .outer:.<span.class="tok-kw">for
62120 3c 2f 73 70 61 6e 3e 20 28 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 </span>.([_]<span.class="tok-typ
62140 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 74 6f 6b 2d e">i32</span>{.<span.class="tok-
62160 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">1</span>,.<span.class="t
62180 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
621a0 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
621c0 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
621e0 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 7d 29 20 .class="tok-number">5</span>.}).
62200 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">
62220 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 ........<span.class="tok-kw">for
62240 3c 2f 73 70 61 6e 3e 20 28 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 </span>.([_]<span.class="tok-typ
62260 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 74 6f 6b 2d e">i32</span>{.<span.class="tok-
62280 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">1</span>,.<span.class="t
622a0 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
622c0 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
622e0 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
62300 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 7d 29 20 .class="tok-number">5</span>.}).
62320 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">
62340 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ............count.+=.<span.class
62360 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>.<
62380 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
623a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">break</span>.
623c0 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 65 :outer;</span>.<span.class="line
623e0 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 22 ">........}</span>.<span.class="
62400 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="
62420 6c 69 6e 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
62440 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 3c 73 70 61 6e 20 ry</span>.expect(count.==.<span.
62460 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
62480 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>
624a0 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
624c0 6e 20 63 6c 61 73 73 3d 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-
624e0 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
62500 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 -str">&quot;nested.continue&quot
62520 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
62540 69 6e 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
62560 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
62580 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
625a0 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>.
625c0 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
625e0 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 5b pan.class="tok-kw">for</span>.([
62600 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
62620 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<
62640 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"
62660 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
62680 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
626a0 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">4</span>,.<span.class="to
626c0 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">5</span>,.<span.class=
626e0 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 20 63 6c 61 "tok-number">6</span>,.<span.cla
62700 73 73 3d 22 74 6f 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 ss="tok-number">7</span>,.<span.
62720 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 20 7d 29 20 7c class="tok-number">8</span>.}).|
62740 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 20 _|.{</span>.<span.class="line">.
62760 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c .......<span.class="tok-kw">for<
62780 2f 73 70 61 6e 3e 20 28 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 /span>.([_]<span.class="tok-type
627a0 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">i32</span>{.<span.class="tok-n
627c0 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
627e0 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">2</span>,.<span.class=
62800 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">3</span>,.<span.cla
62820 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">4</span>,.<span.
62840 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 7d 29 20 7c class="tok-number">5</span>.}).|
62860 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 20 _|.{</span>.<span.class="line">.
62880 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ...........count.+=.<span.class=
628a0 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
628c0 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 70 pan.class="line">............<sp
628e0 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
62900 3e 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 >.:outer;</span>.<span.class="li
62920 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 6c 61 73 73 ne">........}</span>.<span.class
62940 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
62960 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
62980 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<
629a0 2f 73 70 61 6e 3e 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 /span>.expect(count.==.<span.cla
629c0 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 3b 3c 2f 73 70 61 6e ss="tok-number">8</span>);</span
629e0 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
62a00 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
62a20 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</
62a40 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><samp><span.clas
62a60 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 65 s="line">$.<kbd>zig.test.test_ne
62a80 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 sted_break.zig</kbd></span>.<spa
62aa0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 65 n.class="line">1/2.test.&quot;ne
62ac0 73 74 65 64 20 62 72 65 61 6b 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 sted.break&quot;....OK</span>.<s
62ae0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b pan.class="line">2/2.test.&quot;
62b00 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 nested.continue&quot;....OK</spa
62b20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 n>.<span.class="line">All.2.test
62b40 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f s.passed.</span>.</samp></pre></
62b60 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 69 6e 6c figure>..............<h3.id="inl
62b80 69 6e 65 2d 66 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 6c 69 6e 65 2d 66 6f ine-for"><a.href="#toc-inline-fo
62ba0 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 r">inline.for</a>.<a.class="hdr"
62bc0 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a .href="#inline-for">..</a></h3>.
62be0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 6c 6f 6f 70 73 20 63 61 6e 20 62 .......<p>.......For.loops.can.b
62c00 65 20 69 6e 6c 69 6e 65 64 2e 20 54 68 69 73 20 63 61 75 73 65 73 20 74 68 65 20 6c 6f 6f 70 20 e.inlined..This.causes.the.loop.
62c20 74 6f 20 62 65 20 75 6e 72 6f 6c 6c 65 64 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 61 6c 6c 6f to.be.unrolled,.which.......allo
62c40 77 73 20 74 68 65 20 63 6f 64 65 20 74 6f 20 64 6f 20 73 6f 6d 65 20 74 68 69 6e 67 73 20 77 68 ws.the.code.to.do.some.things.wh
62c60 69 63 68 20 6f 6e 6c 79 20 77 6f 72 6b 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2c 0a 20 ich.only.work.at.compile.time,..
62c80 20 20 20 20 20 73 75 63 68 20 61 73 20 75 73 65 20 74 79 70 65 73 20 61 73 20 66 69 72 73 74 20 .....such.as.use.types.as.first.
62ca0 63 6c 61 73 73 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 54 68 65 20 63 61 70 74 75 72 65 20 class.values........The.capture.
62cc0 76 61 6c 75 65 20 61 6e 64 20 69 74 65 72 61 74 6f 72 20 76 61 6c 75 65 20 6f 66 20 69 6e 6c 69 value.and.iterator.value.of.inli
62ce0 6e 65 64 20 66 6f 72 20 6c 6f 6f 70 73 20 61 72 65 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d ned.for.loops.are.......compile-
62d00 74 69 6d 65 20 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 time.known........</p>.......<fi
62d20 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"
62d40 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 6c 69 6e 65 5f ><cite.class="file">test_inline_
62d60 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 72 65 loop.zig</cite></figcaption><pre
62d80 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.
62da0 63 6c 61 73 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
62dc0 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">@
62de0 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
62e00 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
62e20 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="
62e40 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"
62e60 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
62e80 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 6e >.<span.class="tok-str">&quot;in
62ea0 6c 69 6e 65 20 66 6f 72 20 6c 6f 6f 70 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 line.for.loop&quot;</span>.{</sp
62ec0 61 6e 3e 0a 3c 73 70 61 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
62ee0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d .class="tok-kw">const</span>.num
62f00 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 3e 69 33 s.=.[_]<span.class="tok-type">i3
62f20 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 2</span>{<span.class="tok-number
62f40 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">2</span>,.<span.class="tok-num
62f60 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">4</span>,.<span.class="tok-
62f80 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">6</span>};</span>.<span.
62fa0 63 6c 61 73 73 3d 22 6c 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
62fc0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">var</span>.sum:.<span.clas
62fe0 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
63000 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>;</
63020 73 70 61 6e 3e 0a 3c 73 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
63040 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>.
63060 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>.
63080 28 6e 75 6d 73 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 (nums).|i|.{</span>.<span.class=
630a0 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-
630c0 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
630e0 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 69 29 20 7b 3c 2f 73 ="tok-kw">switch</span>.(i).{</s
63100 70 61 6e 3e 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">........
63120 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 32 3c 2f ....<span.class="tok-number">2</
63140 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 70 span>.=&gt;.<span.class="tok-typ
63160 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 73 e">f32</span>,</span>.<span.clas
63180 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
631a0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 ="tok-number">4</span>.=&gt;.<sp
631c0 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 2c 3c 2f an.class="tok-type">i8</span>,</
631e0 73 70 61 6e 3e 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">.......
63200 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 36 3c .....<span.class="tok-number">6<
63220 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
63240 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 6c pe">bool</span>,</span>.<span.cl
63260 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
63280 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 ss="tok-kw">else</span>.=&gt;.<s
632a0 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</
632c0 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"
632e0 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 3d 22 >........};</span>.<span.class="
63300 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 74 79 70 65 4e 61 6d 65 4c 65 6e line">........sum.+=.typeNameLen
63320 67 74 68 28 54 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 gth(T);</span>.<span.class="line
63340 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
63360 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</
63380 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 3d span>.expect(sum.==.<span.class=
633a0 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 6e 3e 0a 3c "tok-number">9</span>);</span>.<
633c0 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
633e0 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
63400 73 3d 22 6c 69 6e 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
63420 3c 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 79 70 </span>.<span.class="tok-fn">typ
63440 65 4e 61 6d 65 4c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 eNameLength</span>(<span.class="
63460 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 6e tok-kw">comptime</span>.T:.<span
63480 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 20 3c .class="tok-type">type</span>).<
634a0 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
634c0 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">.
634e0 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</
63500 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e span>.<span.class="tok-builtin">
63520 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 54 29 2e 6c 65 6e 3b 3c 2f 73 70 61 6e 3e 0a @typeName</span>(T).len;</span>.
63540 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
63560 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
63580 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
635a0 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><samp><span.class=
635c0 22 6c 69 6e 65 22 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 "line">$.<kbd>zig.test.test_inli
635e0 6e 65 5f 6c 6f 6f 70 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ne_loop.zig</kbd></span>.<span.c
63600 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 69 6e 6c 69 6e lass="line">1/1.test.&quot;inlin
63620 65 20 66 6f 72 20 6c 6f 6f 70 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 e.for.loop&quot;....OK</span>.<s
63640 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 pan.class="line">All.1.tests.pas
63660 73 65 64 2e 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 sed.</span>.</samp></pre></figur
63680 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 e>.......<p>.......It.is.recomme
636a0 6e 64 65 64 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c nded.to.use.<code><span.class="l
636c0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 ine"><span.class="tok-kw">inline
636e0 3c 2f 73 70 61 6e 3e 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 </span></span></code>.loops.only
63700 20 66 6f 72 20 6f 6e 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 .for.one.of.these.reasons:......
63720 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 59 6f 75 .</p>.......<ul>.........<li>You
63740 20 6e 65 65 64 20 74 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 .need.the.loop.to.execute.at.<a.
63760 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 66 6f href="#comptime">comptime</a>.fo
63780 72 20 74 68 65 20 73 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 r.the.semantics.to.work.</li>...
637a0 20 20 20 20 20 20 3c 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 ......<li>.........You.have.a.be
637c0 6e 63 68 6d 61 72 6b 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 nchmark.to.prove.that.forcibly.u
637e0 6e 72 6f 6c 6c 69 6e 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 nrolling.the.loop.in.this.way.is
63800 20 6d 65 61 73 75 72 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 .measurably.faster..........</li
63820 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 70 3e 53 65 >.......</ul>..............<p>Se
63840 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 77 68 e.also:</p><ul>.<li><a.href="#wh
63860 69 6c 65 22 3e 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 3d ile">while</a></li>.<li><a.href=
63880 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 6c "#comptime">comptime</a></li>.<l
638a0 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f i><a.href="#Arrays">Arrays</a></
638c0 6c 69 3e 0a 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 li>.<li><a.href="#Slices">Slices
638e0 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
63900 32 20 69 64 3d 22 69 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 66 22 3e 69 66 3c 2f 2.id="if"><a.href="#toc-if">if</
63920 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 66 22 3e c2 a7 3c a>.<a.class="hdr".href="#if">..<
63940 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 /a></h2>........<figure><figcapt
63960 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=
63980 22 66 69 6c 65 22 3e 69 66 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e "file">if.zig</cite></figcaption
639a0 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"><
639c0 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
639e0 78 70 72 65 73 73 69 6f 6e 73 20 68 61 76 65 20 74 68 72 65 65 20 75 73 65 73 2c 20 63 6f 72 72 xpressions.have.three.uses,.corr
63a00 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 74 68 72 65 65 20 74 79 70 65 73 3a 3c 2f 73 esponding.to.the.three.types:</s
63a20 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"><
63a40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 20 62 6f span.class="tok-comment">//.*.bo
63a60 6f 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 69 ol</span></span>.<span.class="li
63a80 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">//
63aa0 20 2a 20 3f 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 3d .*.?T</span></span>.<span.class=
63ac0 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"
63ae0 3e 2f 2f 20 2a 20 61 6e 79 65 72 72 6f 72 21 54 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c >//.*.anyerror!T</span></span>.<
63b00 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.
63b20 63 6c 61 73 73 3d 22 6c 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
63b40 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
63b60 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>
63b80 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
63ba0 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;</
63bc0 73 70 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>
63be0 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=
63c00 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
63c20 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 65 78 70 72 65 73 73 69 6f 6e 26 71 ="tok-str">&quot;if.expression&q
63c40 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
63c60 3d 22 6c 69 6e 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
63c80 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 75 73 65 64 ment">//.If.expressions.are.used
63ca0 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 74 65 72 6e 61 72 79 20 65 78 70 72 65 73 73 69 6f 6e .instead.of.a.ternary.expression
63cc0 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
63ce0 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
63d00 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>.a:.<span.class="tok-typ
63d20 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
63d40 2d 6e 75 6d 62 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 -number">5</span>;</span>.<span.
63d60 63 6c 61 73 73 3d 22 6c 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
63d80 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 73 k-kw">const</span>.b:.<span.clas
63da0 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.
63dc0 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 3b 3c 2f 73 70 class="tok-number">4</span>;</sp
63de0 61 6e 3e 0a 3c 73 70 61 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
63e00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 .class="tok-kw">const</span>.res
63e20 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 69 66 3c 2f 73 ult.=.<span.class="tok-kw">if</s
63e40 70 61 6e 3e 20 28 61 20 21 3d 20 62 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e pan>.(a.!=.b).<span.class="tok-n
63e60 75 6d 62 65 72 22 3e 34 37 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">47</span>.<span.class="to
63e80 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
63ea0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 30 38 39 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ok-number">3089</span>;</span>.<
63ec0 73 70 61 6e 20 63 6c 61 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
63ee0 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 65 73 s="tok-kw">try</span>.expect(res
63f00 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ult.==.<span.class="tok-number">
63f20 34 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 3d 22 47</span>);</span>.<span.class="
63f40 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
63f60 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
63f80 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
63fa0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 62 6f 6f pan.class="tok-str">&quot;if.boo
63fc0 6c 65 61 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 lean&quot;</span>.{</span>.<span
63fe0 20 63 6c 61 73 73 3d 22 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
64000 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 20 74 65 ok-comment">//.If.expressions.te
64020 73 74 20 62 6f 6f 6c 65 61 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 st.boolean.conditions.</span></s
64040 70 61 6e 3e 0a 3c 73 70 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
64060 6e 20 63 6c 61 73 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:
64080 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
640a0 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 3c n>.=.<span.class="tok-number">5<
640c0 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
640e0 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
64100 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 65 </span>.b:.<span.class="tok-type
64120 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-
64140 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 63 number">4</span>;</span>.<span.c
64160 6c 61 73 73 3d 22 6c 69 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
64180 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 21 3d 20 62 29 20 7b 3c 2f 73 70 61 6e 3e -kw">if</span>.(a.!=.b).{</span>
641a0 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
641c0 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
641e0 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 3c 2f ct(<span.class="tok-null">true</
64200 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
64220 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
64240 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 69 66 e</span>.<span.class="tok-kw">if
64260 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 2d 6e </span>.(a.==.<span.class="tok-n
64280 75 6d 62 65 72 22 3e 39 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">9</span>).{</span>.<span.
642a0 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
642c0 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
642e0 70 61 6e 3e 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
64300 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>.{
64320 3c 2f 73 70 61 6e 3e 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">.....
64340 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
64360 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="
64380 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="
643a0 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
643c0 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
643e0 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
64400 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 6f 70 74 pan.class="tok-str">&quot;if.opt
64420 69 6f 6e 61 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 ional&quot;</span>.{</span>.<spa
64440 6e 20 63 6c 61 73 73 3d 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="
64460 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 20 74 tok-comment">//.If.expressions.t
64480 65 73 74 20 66 6f 72 20 6e 75 6c 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 est.for.null.</span></span>.<spa
644a0 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
644c0 73 73 3d 22 6c 69 6e 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
644e0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d w">const</span>.a:.?<span.class=
64500 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
64520 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
64540 3e 0a 3c 73 70 61 6e 20 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
64560 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c lass="tok-kw">if</span>.(a).|val
64580 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 65 22 3e ue|.{</span>.<span.class="line">
645a0 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
645c0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c </span>.expect(value.==.<span.cl
645e0 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
64600 6e 3e 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
64620 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 3c 2f n.class="tok-kw">else</span>.{</
64640 73 70 61 6e 3e 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">.......
64660 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
64680 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
646a0 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
646c0 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">.
646e0 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
64700 70 61 6e 3e 20 62 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>.b:.?<span.class="tok-type">
64720 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
64740 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
64760 61 73 73 3d 22 6c 69 6e 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-
64780 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c kw">if</span>.(b).|_|.{</span>.<
647a0 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.
647c0 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
647e0 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">...
64800 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
64820 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">
64840 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
64860 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-
64880 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
648a0 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
648c0 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
648e0 73 3d 22 6c 69 6e 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
64900 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 6c 73 65 20 69 73 20 6e 6f 74 20 72 65 71 75 69 72 mment">//.The.else.is.not.requir
64920 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
64940 69 6e 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
64960 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 6e 3e 0a 3c 73 70 </span>.(a).|value|.{</span>.<sp
64980 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
649a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 ass="tok-kw">try</span>.expect(v
649c0 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 alue.==.<span.class="tok-number"
649e0 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="
64a00 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="
64a20 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"
64a40 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">/
64a60 2f 20 54 6f 20 74 65 73 74 20 61 67 61 69 6e 73 74 20 6e 75 6c 6c 20 6f 6e 6c 79 2c 20 75 73 65 /.To.test.against.null.only,.use
64a80 20 74 68 65 20 62 69 6e 61 72 79 20 65 71 75 61 6c 69 74 79 20 6f 70 65 72 61 74 6f 72 2e 3c 2f .the.binary.equality.operator.</
64aa0 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">
64ac0 20 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
64ae0 6e 3e 20 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e n>.(b.==.<span.class="tok-null">
64b00 6e 75 6c 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 null</span>).{</span>.<span.clas
64b20 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
64b40 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
64b60 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 70 ass="tok-null">true</span>);</sp
64b80 61 6e 3e 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
64ba0 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>.<
64bc0 73 70 61 6e 20 63 6c 61 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
64be0 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 61 s="tok-comment">//.Access.the.va
64c00 6c 75 65 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 75 73 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 lue.by.reference.using.a.pointer
64c20 20 63 61 70 74 75 72 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 .capture.</span></span>.<span.cl
64c40 61 73 73 3d 22 6c 69 6e 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-
64c60 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 kw">var</span>.c:.?<span.class="
64c80 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
64ca0 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>
64cc0 0a 3c 73 70 61 6e 20 63 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
64ce0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 2a 76 61 6c ass="tok-kw">if</span>.(c).|*val
64d00 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 65 22 3e ue|.{</span>.<span.class="line">
64d20 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 74 ........value.*.=.<span.class="t
64d40 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
64d60 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
64d80 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
64da0 73 73 3d 22 6c 69 6e 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
64dc0 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e w">if</span>.(c).|value|.{</span
64de0 3e 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
64e00 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
64e20 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ect(value.==.<span.class="tok-nu
64e40 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 63 6c mber">2</span>);</span>.<span.cl
64e60 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
64e80 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 6e k-kw">else</span>.{</span>.<span
64ea0 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
64ec0 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 2f s="tok-kw">unreachable</span>;</
64ee0 73 70 61 6e 3e 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">....}</
64f00 73 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
64f20 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
64f40 61 6e 20 63 6c 61 73 73 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
64f60 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
64f80 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 k-str">&quot;if.error.union&quot
64fa0 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
64fc0 69 6e 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
64fe0 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
65000 72 6f 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 3d rors.</span></span>.<span.class=
65020 22 6c 69 6e 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
65040 65 6e 74 22 3e 2f 2f 20 4e 6f 74 65 20 74 68 65 20 7c 65 72 72 7c 20 63 61 70 74 75 72 65 20 6f ent">//.Note.the.|err|.capture.o
65060 6e 20 74 68 65 20 65 6c 73 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 n.the.else.</span></span>.<span.
65080 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
650a0 3d 22 6c 69 6e 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"
650c0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >const</span>.a:.<span.class="to
650e0 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 63 6c k-type">anyerror</span>!<span.cl
65100 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
65120 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>;</
65140 73 70 61 6e 3e 0a 3c 73 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
65160 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 20 an.class="tok-kw">if</span>.(a).
65180 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 6c 69 |value|.{</span>.<span.class="li
651a0 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"
651c0 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 70 61 >try</span>.expect(value.==.<spa
651e0 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>);<
65200 2f 73 70 61 6e 3e 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">....}.
65220 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>
65240 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 22 6c 69 6e .|err|.{</span>.<span.class="lin
65260 65 22 3e 20 20 20 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 e">........_.=.err;</span>.<span
65280 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
652a0 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 2f s="tok-kw">unreachable</span>;</
652c0 73 70 61 6e 3e 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">....}</
652e0 73 70 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>
65300 0a 3c 73 70 61 6e 20 63 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
65320 61 73 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 73 70 ass="tok-kw">const</span>.b:.<sp
65340 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
65360 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</
65380 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
653a0 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e or</span>.BadValue;</span>.<span
653c0 20 63 6c 61 73 73 3d 22 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
653e0 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f ok-kw">if</span>.(b).|value|.{</
65400 73 70 61 6e 3e 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">.......
65420 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 61 73 73 3d 22 ._.=.value;</span>.<span.class="
65440 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
65460 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
65480 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 61 pan.class="line">....}.<span.cla
654a0 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 3c ss="tok-kw">else</span>.|err|.{<
654c0 2f 73 70 61 6e 3e 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">......
654e0 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
65500 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 6b >.expect(err.==.<span.class="tok
65520 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 70 -kw">error</span>.BadValue);</sp
65540 61 6e 3e 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
65560 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>.<
65580 73 70 61 6e 20 63 6c 61 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
655a0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 6c 73 65 20 61 6e 64 20 s="tok-comment">//.The.else.and.
655c0 7c 65 72 72 7c 20 63 61 70 74 75 72 65 20 69 73 20 73 74 72 69 63 74 6c 79 20 72 65 71 75 69 72 |err|.capture.is.strictly.requir
655e0 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
65600 69 6e 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
65620 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 6e 3e 0a 3c 73 70 </span>.(a).|value|.{</span>.<sp
65640 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
65660 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 ass="tok-kw">try</span>.expect(v
65680 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 alue.==.<span.class="tok-number"
656a0 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="
656c0 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 22 line">....}.<span.class="tok-kw"
656e0 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >else</span>.|_|.{}</span>.<span
65700 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
65720 73 3d 22 6c 69 6e 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
65740 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 63 68 65 63 6b 20 6f 6e 6c 79 20 74 68 65 20 65 72 72 6f mment">//.To.check.only.the.erro
65760 72 20 76 61 6c 75 65 2c 20 75 73 65 20 61 6e 20 65 6d 70 74 79 20 62 6c 6f 63 6b 20 65 78 70 72 r.value,.use.an.empty.block.expr
65780 65 73 73 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 ession.</span></span>.<span.clas
657a0 73 3d 22 6c 69 6e 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
657c0 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 7c 5f 7c 20 7b 7d 20 3c 73 70 61 6e 20 63 6c 61 ">if</span>.(b).|_|.{}.<span.cla
657e0 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 3c ss="tok-kw">else</span>.|err|.{<
65800 2f 73 70 61 6e 3e 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">......
65820 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
65840 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 6b >.expect(err.==.<span.class="tok
65860 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 70 -kw">error</span>.BadValue);</sp
65880 61 6e 3e 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
658a0 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>.<
658c0 73 70 61 6e 20 63 6c 61 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
658e0 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 61 s="tok-comment">//.Access.the.va
65900 6c 75 65 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 75 73 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 lue.by.reference.using.a.pointer
65920 20 63 61 70 74 75 72 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 .capture.</span></span>.<span.cl
65940 61 73 73 3d 22 6c 69 6e 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-
65960 6b 77 22 3e 76 61 72 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 kw">var</span>.c:.<span.class="t
65980 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 63 ok-type">anyerror</span>!<span.c
659a0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 lass="tok-type">u32</span>.=.<sp
659c0 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 3c an.class="tok-number">3</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 3c 73 /span>.<span.class="line">....<s
65a00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 pan.class="tok-kw">if</span>.(c)
65a20 20 7c 2a 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="
65a40 6c 69 6e 65 22 3e 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 line">........value.*.=.<span.cl
65a60 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ass="tok-number">9</span>;</span
65a80 3e 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
65aa0 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>.|_|.
65ac0 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">....
65ae0 20 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
65b00 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=
65b20 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=
65b40 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
65b60 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
65b80 70 61 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 pan>.(c).|value|.{</span>.<span.
65ba0 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
65bc0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 ="tok-kw">try</span>.expect(valu
65be0 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c e.==.<span.class="tok-number">9<
65c00 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
65c20 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 6c e">....}.<span.class="tok-kw">el
65c40 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 se</span>.|_|.{</span>.<span.cla
65c60 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
65c80 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 70 61 6e ok-kw">unreachable</span>;</span
65ca0 3e 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
65cc0 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
65ce0 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
65d00 6c 61 73 73 3d 22 6c 69 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"
65d20 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
65d40 72 22 3e 26 71 75 6f 74 3b 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 77 69 74 68 20 6f 70 74 r">&quot;if.error.union.with.opt
65d60 69 6f 6e 61 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 ional&quot;</span>.{</span>.<spa
65d80 6e 20 63 6c 61 73 73 3d 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="
65da0 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 20 74 tok-comment">//.If.expressions.t
65dc0 65 73 74 20 66 6f 72 20 65 72 72 6f 72 73 20 62 65 66 6f 72 65 20 75 6e 77 72 61 70 70 69 6e 67 est.for.errors.before.unwrapping
65de0 20 6f 70 74 69 6f 6e 61 6c 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .optionals.</span></span>.<span.
65e00 63 6c 61 73 73 3d 22 6c 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
65e20 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 k-comment">//.The.|optional_valu
65e40 65 7c 20 63 61 70 74 75 72 65 27 73 20 74 79 70 65 20 69 73 20 3f 75 33 32 2e 3c 2f 73 70 61 6e e|.capture's.type.is.?u32.</span
65e60 3e 3c 2f 73 70 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
65e80 61 6e 3e 0a 3c 73 70 61 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
65ea0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 .class="tok-kw">const</span>.a:.
65ec0 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<
65ee0 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
65f00 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
65f20 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 61 73 ber">0</span>;</span>.<span.clas
65f40 73 3d 22 6c 69 6e 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
65f60 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c ">if</span>.(a).|optional_value|
65f80 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">...
65fa0 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
65fc0 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2e 3f 20 3d 3d 20 pan>.expect(optional_value.?.==.
65fe0 3c 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
66000 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">..
66020 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
66040 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=
66060 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c "line">........_.=.err;</span>.<
66080 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.
660a0 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
660c0 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">...
660e0 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
66100 70 61 6e 3e 0a 3c 73 70 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
66120 6e 20 63 6c 61 73 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:
66140 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
66160 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e </span>!?<span.class="tok-type">
66180 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
661a0 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
661c0 61 73 73 3d 22 6c 69 6e 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-
661e0 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 kw">if</span>.(b).|optional_valu
66200 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">.
66220 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<
66240 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d 3d 20 /span>.expect(optional_value.==.
66260 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
66280 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">.
662a0 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</
662c0 73 70 61 6e 3e 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 span>.|_|.{</span>.<span.class="
662e0 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
66300 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
66320 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
66340 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
66360 6c 61 73 73 3d 22 6c 69 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
66380 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
663a0 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 70 ="tok-type">anyerror</span>!?<sp
663c0 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>.=
663e0 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
66400 6e 3e 2e 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 n>.BadValue;</span>.<span.class=
66420 22 6c 69 6e 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">
66440 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b if</span>.(c).|optional_value|.{
66460 3c 2f 73 70 61 6e 3e 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">.....
66480 20 20 20 5f 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ..._.=.optional_value;</span>.<s
664a0 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
664c0 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>
664e0 3b 3c 2f 73 70 61 6e 3e 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">....
66500 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
66520 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 22 6c n>.|err|.{</span>.<span.class="l
66540 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
66560 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 61 6e ">try</span>.expect(err.==.<span
66580 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 42 61 64 .class="tok-kw">error</span>.Bad
665a0 56 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
665c0 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
665e0 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">...
66600 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 63 .<span.class="tok-comment">//.Ac
66620 63 65 73 73 20 74 68 65 20 76 61 6c 75 65 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 62 79 20 75 cess.the.value.by.reference.by.u
66640 73 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 20 63 61 70 74 75 72 65 20 65 61 63 68 20 74 69 6d 65 sing.a.pointer.capture.each.time
66660 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
66680 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<
666a0 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>.d:.<span.class="tok-type"
666c0 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
666e0 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
66700 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 0a s="tok-number">3</span>;</span>.
66720 3c 73 70 61 6e 20 63 6c 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
66740 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 64 29 20 7c 2a 6f 70 74 69 ss="tok-kw">if</span>.(d).|*opti
66760 6f 6e 61 6c 5f 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 onal_value|.{</span>.<span.class
66780 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
667a0 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 76 61 6c 75 65 2e 2a -kw">if</span>.(optional_value.*
667c0 29 20 7c 2a 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=
667e0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 3d 20 3c 73 70 "line">............value.*.=.<sp
66800 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 3b 3c an.class="tok-number">9</span>;<
66820 2f 73 70 61 6e 3e 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">......
66840 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">..
66860 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
66880 70 61 6e 3e 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 pan>.|_|.{</span>.<span.class="l
668a0 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
668c0 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 70 ">unreachable</span>;</span>.<sp
668e0 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
66900 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
66920 61 73 73 3d 22 6c 69 6e 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-
66940 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 64 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 kw">if</span>.(d).|optional_valu
66960 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">.
66980 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<
669a0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2e 3f 20 3d /span>.expect(optional_value.?.=
669c0 3d 20 3c 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 =.<span.class="tok-number">9</sp
669e0 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">
66a00 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c ....}.<span.class="tok-kw">else<
66a20 2f 73 70 61 6e 3e 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 /span>.|_|.{</span>.<span.class=
66a40 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-
66a60 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>.<
66a80 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>.<
66aa0 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
66ac0 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
66ae0 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
66b00 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
66b20 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 69 66 2e 7a 69 67 3c 2f 6b 62 line">$.<kbd>zig.test.if.zig</kb
66b40 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 35 d></span>.<span.class="line">1/5
66b60 20 74 65 73 74 20 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 2e .test.&quot;if.expression&quot;.
66b80 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...OK</span>.<span.class="line">
66ba0 32 2f 35 20 74 65 73 74 20 26 71 75 6f 74 3b 69 66 20 62 6f 6f 6c 65 61 6e 26 71 75 6f 74 3b 2e 2/5.test.&quot;if.boolean&quot;.
66bc0 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...OK</span>.<span.class="line">
66be0 33 2f 35 20 74 65 73 74 20 26 71 75 6f 74 3b 69 66 20 6f 70 74 69 6f 6e 61 6c 26 71 75 6f 74 3b 3/5.test.&quot;if.optional&quot;
66c00 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....OK</span>.<span.class="line"
66c20 3e 34 2f 35 20 74 65 73 74 20 26 71 75 6f 74 3b 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 >4/5.test.&quot;if.error.union&q
66c40 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uot;....OK</span>.<span.class="l
66c60 69 6e 65 22 3e 35 2f 35 20 74 65 73 74 20 26 71 75 6f 74 3b 69 66 20 65 72 72 6f 72 20 75 6e 69 ine">5/5.test.&quot;if.error.uni
66c80 6f 6e 20 77 69 74 68 20 6f 70 74 69 6f 6e 61 6c 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 on.with.optional&quot;....OK</sp
66ca0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 35 20 74 65 73 an>.<span.class="line">All.5.tes
66cc0 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c ts.passed.</span>.</samp></pre><
66ce0 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c /figure>.......<p>See.also:</p><
66d00 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 ul>.<li><a.href="#Optionals">Opt
66d20 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 23 45 72 ionals</a></li>.<li><a.href="#Er
66d40 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 6c 3e 0a 0a 20 20 20 rors">Errors</a></li>.</ul>.....
66d60 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 64 65 66 65 72 22 3e 3c 61 20 68 72 65 66 ..........<h2.id="defer"><a.href
66d80 3d 22 23 74 6f 63 2d 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 ="#toc-defer">defer</a>.<a.class
66da0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e ="hdr".href="#defer">..</a></h2>
66dc0 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 ........<figure><figcaption.clas
66de0 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
66e00 65 66 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 efer.zig</cite></figcaption><pre
66e20 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.
66e40 63 6c 61 73 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.
66e60 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
66e80 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"
66ea0 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>
66ec0 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=
66ee0 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
66f00 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.
66f20 63 6c 61 73 73 3d 22 6c 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
66f40 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 64 65 62 75 67 ">const</span>.print.=.std.debug
66f60 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 69 6e 65 .print;</span>.<span.class="line
66f80 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
66fa0 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 65 66 65 72 20 an.class="tok-comment">//.defer.
66fc0 77 69 6c 6c 20 65 78 65 63 75 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 61 74 20 74 68 will.execute.an.expression.at.th
66fe0 65 20 65 6e 64 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 63 6f 70 65 2e 3c 2f 73 70 61 e.end.of.the.current.scope.</spa
67000 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
67020 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
67040 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 66 65 72 45 78 61 6d 70 6c 65 3c 2f 73 n.class="tok-fn">deferExample</s
67060 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 3e 75 pan>().!<span.class="tok-type">u
67080 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
670a0 3d 22 6c 69 6e 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"
670c0 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 2d >var</span>.a:.<span.class="tok-
670e0 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
67100 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>.<
67120 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.
67140 63 6c 61 73 73 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 class="line">....{</span>.<span.
67160 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
67180 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c 73 70 61 6e ="tok-kw">defer</span>.a.=.<span
671a0 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 73 .class="tok-number">2</span>;</s
671c0 70 61 6e 3e 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">........
671e0 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 2f a.=.<span.class="tok-number">1</
67200 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"
67220 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"
67240 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
67260 70 61 6e 3e 20 65 78 70 65 63 74 28 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.expect(a.==.<span.class="to
67280 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
672a0 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
672c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">....a.=.<span.class="t
672e0 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 6e 3e 0a 3c 73 70 61 ok-number">5</span>;</span>.<spa
67300 6e 20 63 6c 61 73 73 3d 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="
67320 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 3b 3c 2f 73 70 61 6e 3e 0a tok-kw">return</span>.a;</span>.
67340 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
67360 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
67380 73 73 3d 22 6c 69 6e 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
673a0 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"
673c0 3e 26 71 75 6f 74 3b 64 65 66 65 72 20 62 61 73 69 63 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e >&quot;defer.basics&quot;</span>
673e0 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">...
67400 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>
67420 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 .expect((<span.class="tok-kw">tr
67440 79 3c 2f 73 70 61 6e 3e 20 64 65 66 65 72 45 78 61 6d 70 6c 65 28 29 29 20 3d 3d 20 3c 73 70 61 y</span>.deferExample()).==.<spa
67460 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>);<
67480 2f 73 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
674a0 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
674c0 70 61 6e 20 63 6c 61 73 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
674e0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 6d 75 6c 74 69 70 6c 65 20 64 65 66 65 72 20 k-comment">//.If.multiple.defer.
67500 73 74 61 74 65 6d 65 6e 74 73 20 61 72 65 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 79 20 77 statements.are.specified,.they.w
67520 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ill.be.executed.in</span></span>
67540 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=
67560 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 72 65 76 65 72 73 65 20 6f 72 64 "tok-comment">//.the.reverse.ord
67580 65 72 20 74 68 65 79 20 77 65 72 65 20 72 75 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a er.they.were.run.</span></span>.
675a0 3c 73 70 61 6e 20 63 6c 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="
675c0 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
675e0 6f 6b 2d 66 6e 22 3e 64 65 66 65 72 55 6e 77 69 6e 64 45 78 61 6d 70 6c 65 3c 2f 73 70 61 6e 3e ok-fn">deferUnwindExample</span>
67600 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</
67620 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
67640 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
67660 22 3e 26 71 75 6f 74 3b 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f ">&quot;\n&quot;</span>,..{});</
67680 73 70 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>
676a0 0a 3c 73 70 61 6e 20 63 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
676c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ass="tok-kw">defer</span>.{</spa
676e0 6e 3e 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
67700 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;
67720 31 20 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 6e 3e 0a 3c 73 1.&quot;</span>,..{});</span>.<s
67740 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
67760 70 61 6e 20 63 6c 61 73 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
67780 3d 22 74 6f 6b 2d 6b 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 ="tok-kw">defer</span>.{</span>.
677a0 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 6e 74 <span.class="line">........print
677c0 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 32 20 26 (<span.class="tok-str">&quot;2.&
677e0 71 75 6f 74 3b 3c 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 quot;</span>,..{});</span>.<span
67800 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
67820 20 63 6c 61 73 73 3d 22 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
67840 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ok-kw">if</span>.(<span.class="t
67860 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a ok-null">false</span>).{</span>.
67880 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
678a0 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 65 66 65 72 73 20 61 .class="tok-comment">//.defers.a
678c0 72 65 20 6e 6f 74 20 72 75 6e 20 69 66 20 74 68 65 79 20 61 72 65 20 6e 65 76 65 72 20 65 78 65 re.not.run.if.they.are.never.exe
678e0 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 63 6c 61 73 73 cuted.</span></span>.<span.class
67900 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
67920 2d 6b 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 -kw">defer</span>.{</span>.<span
67940 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 69 6e 74 28 .class="line">............print(
67960 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 33 20 26 71 <span.class="tok-str">&quot;3.&q
67980 75 6f 74 3b 3c 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 uot;</span>,..{});</span>.<span.
679a0 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
679c0 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
679e0 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.
67a00 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
67a20 3d 22 6c 69 6e 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
67a40 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">&
67a60 71 75 6f 74 3b 64 65 66 65 72 20 75 6e 77 69 6e 64 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e quot;defer.unwinding&quot;</span
67a80 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">..
67aa0 20 20 64 65 66 65 72 55 6e 77 69 6e 64 45 78 61 6d 70 6c 65 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ..deferUnwindExample();</span>.<
67ac0 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
67ae0 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
67b00 73 3d 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
67b20 74 22 3e 2f 2f 20 54 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 t">//.The.errdefer.keyword.is.si
67b40 6d 69 6c 61 72 20 74 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 milar.to.defer,.but.will.only.ex
67b60 65 63 75 74 65 20 69 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 ecute.if.the</span></span>.<span
67b80 20 63 6c 61 73 73 3d 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
67ba0 6f 6d 6d 65 6e 74 22 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 omment">//.scope.returns.with.an
67bc0 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 73 .error.</span></span>.<span.clas
67be0 73 3d 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
67c00 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 3d t">//</span></span>.<span.class=
67c20 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"
67c40 3e 2f 2f 20 54 68 69 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 >//.This.is.especially.useful.in
67c60 20 61 6c 6c 6f 77 69 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 .allowing.a.function.to.clean.up
67c80 20 70 72 6f 70 65 72 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 .properly</span></span>.<span.cl
67ca0 61 73 73 3d 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
67cc0 65 6e 74 22 3e 2f 2f 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 ent">//.on.error,.and.replaces.g
67ce0 6f 74 6f 20 65 72 72 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 oto.error.handling.tactics.as.se
67d00 65 6e 20 69 6e 20 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 en.in.c.</span></span>.<span.cla
67d20 73 73 3d 22 6c 69 6e 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
67d40 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 65 n</span>.<span.class="tok-fn">de
67d60 66 65 72 45 72 72 6f 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 ferErrorExample</span>(is_error:
67d80 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
67da0 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 an>).!<span.class="tok-type">voi
67dc0 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
67de0 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 6b 2d ine">....print(<span.class="tok-
67e00 73 74 72 22 3e 26 71 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 str">&quot;\nstart.of.function\n
67e20 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 6e 3e 0a 3c 73 70 61 &quot;</span>,..{});</span>.<spa
67e40 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
67e60 73 73 3d 22 6c 69 6e 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
67e80 6f 6d 6d 65 6e 74 22 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 omment">//.This.will.always.be.e
67ea0 78 65 63 75 74 65 64 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 xecuted.on.exit</span></span>.<s
67ec0 70 61 6e 20 63 6c 61 73 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
67ee0 3d 22 74 6f 6b 2d 6b 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 ="tok-kw">defer</span>.{</span>.
67f00 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 6e 74 <span.class="line">........print
67f20 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 6e 64 (<span.class="tok-str">&quot;end
67f40 20 6f 66 20 66 75 6e 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 .of.function\n&quot;</span>,..{}
67f60 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">...
67f80 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
67fa0 70 61 6e 3e 0a 3c 73 70 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
67fc0 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 3e n.class="tok-kw">errdefer</span>
67fe0 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">...
68000 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"
68020 3e 26 71 75 6f 74 3b 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 >&quot;encountered.an.error!\n&q
68040 75 6f 74 3b 3c 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 uot;</span>,..{});</span>.<span.
68060 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.
68080 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
680a0 3d 22 6c 69 6e 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"
680c0 3e 69 66 3c 2f 73 70 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 >if</span>.(is_error).{</span>.<
680e0 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.
68100 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
68120 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 44 an.class="tok-kw">error</span>.D
68140 65 66 65 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 eferError;</span>.<span.class="l
68160 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
68180 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"
681a0 3e 3c 2f 73 70 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
681c0 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
681e0 61 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 72 64 65 66 65 an.class="tok-str">&quot;errdefe
68200 72 20 75 6e 77 69 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 r.unwinding&quot;</span>.{</span
68220 3e 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 65 66 65 72 45 72 >.<span.class="line">....deferEr
68240 72 6f 72 45 78 61 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 rorExample(<span.class="tok-null
68260 22 3e 66 61 6c 73 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 ">false</span>).<span.class="tok
68280 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 3c 73 70 -kw">catch</span>.{};</span>.<sp
682a0 61 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 an.class="line">....deferErrorEx
682c0 61 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 74 72 75 ample(<span.class="tok-null">tru
682e0 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
68300 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
68320 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><
68340 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
68360 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>
68380 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
683a0 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 64 65 66 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 <kbd>zig.test.defer.zig</kbd></s
683c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 33 20 74 65 73 74 pan>.<span.class="line">1/3.test
683e0 20 26 71 75 6f 74 3b 64 65 66 65 72 20 62 61 73 69 63 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c .&quot;defer.basics&quot;....OK<
68400 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 33 20 74 65 /span>.<span.class="line">2/3.te
68420 73 74 20 26 71 75 6f 74 3b 64 65 66 65 72 20 75 6e 77 69 6e 64 69 6e 67 26 71 75 6f 74 3b 2e 2e st.&quot;defer.unwinding&quot;..
68440 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 20 31 20 .</span>.<span.class="line">2.1.
68460 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 33 OK</span>.<span.class="line">3/3
68480 20 74 65 73 74 20 26 71 75 6f 74 3b 65 72 72 64 65 66 65 72 20 75 6e 77 69 6e 64 69 6e 67 26 71 .test.&quot;errdefer.unwinding&q
684a0 75 6f 74 3b 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 uot;...</span>.<span.class="line
684c0 22 3e 73 74 61 72 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">start.of.function</span>.<span
684e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6e 64 20 6f 66 20 66 75 6e 63 74 69 6f 6e 3c 2f 73 .class="line">end.of.function</s
68500 70 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>.
68520 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 61 72 74 20 6f 66 20 66 75 6e 63 <span.class="line">start.of.func
68540 74 69 6f 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 65 tion</span>.<span.class="line">e
68560 6e 63 6f 75 6e 74 65 72 65 64 20 61 6e 20 65 72 72 6f 72 21 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ncountered.an.error!</span>.<spa
68580 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6e 64 20 6f 66 20 66 75 6e 63 74 69 6f 6e 3c 2f n.class="line">end.of.function</
685a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4f 4b 3c 2f 73 70 61 span>.<span.class="line">OK</spa
685c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 33 20 74 65 73 74 n>.<span.class="line">All.3.test
685e0 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f s.passed.</span>.</samp></pre></
68600 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 figure>.......<p>See.also:</p><u
68620 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 6f 72 73 3c l>.<li><a.href="#Errors">Errors<
68640 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 32 /a></li>.</ul>...............<h2
68660 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 74 6f 63 2d .id="unreachable"><a.href="#toc-
68680 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 20 3c 61 20 unreachable">unreachable</a>.<a.
686a0 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 6c 65 22 3e class="hdr".href="#unreachable">
686c0 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 49 6e 20 ..</a></h2>........<p>.......In.
686e0 3c 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 75 67 3c 2f <code><span.class="line">Debug</
68700 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 6c 61 span></code>.and.<code><span.cla
68720 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 3c 2f 63 6f ss="line">ReleaseSafe</span></co
68740 64 65 3e 20 6d 6f 64 65 2c 20 61 6e 64 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 6b 62 64 3e 7a 69 de>.mode,.and.when.using.<kbd>zi
68760 67 20 74 65 73 74 3c 2f 6b 62 64 3e 2c 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 g.test</kbd>,.......<code><span.
68780 63 6c 61 73 73 3d 22 6c 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
687a0 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
687c0 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 63 e>.emits.a.call.to.<code><span.c
687e0 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 20 lass="line">panic</span></code>.
68800 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 75 with.the.message.<code>reached.u
68820 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 2f nreachable.code</code>........</
68840 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 p>.......<p>.......In.<code><spa
68860 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 73 70 61 6e n.class="line">ReleaseFast</span
68880 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2c 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 75 73 65 ></code>.mode,.the.optimizer.use
688a0 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 70 61 s.the.assumption.that.<code><spa
688c0 6e 20 63 6c 61 73 73 3d 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-
688e0 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 2f 63 kw">unreachable</span></span></c
68900 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 68 69 ode>.code.......will.never.be.hi
68920 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 20 48 6f 77 65 t.to.perform.optimizations..Howe
68940 76 65 72 2c 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 65 76 65 6e 20 69 6e ver,.<kbd>zig.test</kbd>.even.in
68960 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
68980 65 46 61 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 0a 20 20 20 20 20 20 20 eFast</span></code>.mode........
689a0 20 20 20 20 20 20 20 20 20 20 20 73 74 69 6c 6c 20 65 6d 69 74 73 20 3c 63 6f 64 65 3e 3c 73 70 ...........still.emits.<code><sp
689c0 61 6e 20 63 6c 61 73 73 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
689e0 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 2f -kw">unreachable</span></span></
68a00 63 6f 64 65 3e 20 61 73 20 63 61 6c 6c 73 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c code>.as.calls.to.<code><span.cl
68a20 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 2e 0a ass="line">panic</span></code>..
68a40 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 42 61 73 69 63 73 22 ......</p>.......<h3.id="Basics"
68a60 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 61 73 69 63 73 22 3e 42 61 73 69 63 73 3c 2f 61 ><a.href="#toc-Basics">Basics</a
68a80 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 61 73 69 63 73 22 3e >.<a.class="hdr".href="#Basics">
68aa0 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 66 69 67 63 ..</a></h3>........<figure><figc
68ac0 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
68ae0 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f ss="file">test_unreachable.zig</
68b00 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
68b20 61 6e 20 63 6c 61 73 73 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
68b40 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 69 73 20 75 73 65 64 -comment">//.unreachable.is.used
68b60 20 74 6f 20 61 73 73 65 72 74 20 74 68 61 74 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 77 69 6c .to.assert.that.control.flow.wil
68b80 6c 20 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 l.never.reach.a</span></span>.<s
68ba0 70 61 6e 20 63 6c 61 73 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
68bc0 6b 2d 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 k-comment">//.particular.locatio
68be0 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 61 73 73 3d 22 6c 69 n:</span></span>.<span.class="li
68c00 6e 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
68c20 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
68c40 3b 62 61 73 69 63 20 6d 61 74 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ;basic.math&quot;</span>.{</span
68c60 3e 0a 3c 73 70 61 6e 20 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
68c80 6c 61 73 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 lass="tok-kw">const</span>.x.=.<
68ca0 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>
68cc0 3b 3c 2f 73 70 61 6e 3e 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">....
68ce0 3c 73 70 61 6e 20 63 6c 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
68d00 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 32 >.y.=.<span.class="tok-number">2
68d20 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
68d40 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</
68d60 73 70 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 span>.(x.+.y.!=.<span.class="tok
68d80 2d 6e 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 -number">3</span>).{</span>.<spa
68da0 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
68dc0 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>;<
68de0 2f 73 70 61 6e 3e 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">....}<
68e00 2f 73 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
68e20 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>
68e40 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
68e60 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 3c 73 70 61 6e ell</figcaption><pre><samp><span
68e80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 .class="line">$.<kbd>zig.test.te
68ea0 73 74 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a st_unreachable.zig</kbd></span>.
68ec0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f <span.class="line">1/1.test.&quo
68ee0 74 3b 62 61 73 69 63 20 6d 61 74 68 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a t;basic.math&quot;....OK</span>.
68f00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 <span.class="line">All.1.tests.p
68f20 61 73 73 65 64 2e 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 assed.</span>.</samp></pre></fig
68f40 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 69 73 20 68 ure>.......<p>In.fact,.this.is.h
68f60 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 73 74 64 2e ow.<code><span.class="line">std.
68f80 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 73 20 69 6d debug.assert</span></code>.is.im
68fa0 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 3e 3c 66 69 plemented:</p>.......<figure><fi
68fc0 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
68fe0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 lass="file">test.zig</cite></fig
69000 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="
69020 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">
69040 2f 2f 20 54 68 69 73 20 69 73 20 68 6f 77 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 20 //.This.is.how.std.debug.assert.
69060 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 is.implemented</span></span>.<sp
69080 61 6e 20 63 6c 61 73 73 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
690a0 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-
690c0 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 73 fn">assert</span>(ok:.<span.clas
690e0 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 20 s="tok-type">bool</span>).<span.
69100 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>.{</
69120 73 70 61 6e 3e 0a 3c 73 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
69140 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 6b an.class="tok-kw">if</span>.(!ok
69160 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 62 ).<span.class="tok-kw">unreachab
69180 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 6d le</span>;.<span.class="tok-comm
691a0 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 3e ent">//.assertion.failure</span>
691c0 3c 2f 73 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
691e0 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>.<
69200 73 70 61 6e 20 63 6c 61 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
69220 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 74 65 73 74 20 77 69 6c 6c 20 66 61 ok-comment">//.This.test.will.fa
69240 69 6c 20 62 65 63 61 75 73 65 20 77 65 20 68 69 74 20 75 6e 72 65 61 63 68 61 62 6c 65 2e 3c 2f il.because.we.hit.unreachable.</
69260 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">
69280 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>
692a0 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
692c0 73 20 77 69 6c 6c 20 66 61 69 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s.will.fail&quot;</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 61 73 73 65 72 74 28 >.<span.class="line">....assert(
69300 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
69320 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">
69340 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
69360 69 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
69380 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
693a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 ><span.class="line">$.<kbd>zig.t
693c0 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 est.test.zig</kbd></span>.<span.
693e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 74 68 69 73 class="line">1/1.test.&quot;this
69400 20 77 69 6c 6c 20 66 61 69 6c 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 31 34 33 31 37 .will.fail&quot;....thread.14317
69420 34 31 20 70 61 6e 69 63 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 41.panic:.reached.unreachable.co
69440 64 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 73 70 de</span>.<span.class="line"><sp
69460 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
69480 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 34 3c 2f 73 70 61 ig/docgen_tmp/test.zig:3:14</spa
694a0 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 64 62 62 20 n>:.<span.class="t2_0">0x207dbb.
694c0 69 6e 20 61 73 73 65 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c in.assert.(test)</span></span>.<
694e0 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 6f 6b 29 20 75 span.class="line">....if.(!ok).u
69500 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 nreachable;.//.assertion.failure
69520 3c 2f 73 70 61 6e 3e 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">.....
69540 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 ........<span.class="t32_1">^</s
69560 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"><
69580 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 span.class="t1_0">/home/andy/tmp
695a0 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 38 3a 31 31 3c 2f 73 /zig/docgen_tmp/test.zig:8:11</s
695c0 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 38 34 pan>:.<span.class="t2_0">0x20784
695e0 65 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 74 68 69 73 20 77 69 6c 6c 20 66 61 69 6c 26 71 e.in.test.&quot;this.will.fail&q
69600 75 6f 74 3b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 uot;.(test)</span></span>.<span.
69620 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 3c class="line">....assert(false);<
69640 2f 73 70 61 6e 3e 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">......
69660 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e ....<span.class="t32_1">^</span>
69680 3c 2f 73 70 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
696a0 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 .class="t1_0">/home/andy/tmp/zig
696c0 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 /lib/std/special/test_runner.zig
696e0 3a 38 30 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 :80:28</span>:.<span.class="t2_0
69700 22 3e 30 78 32 32 66 31 30 33 20 69 6e 20 73 74 64 2e 73 70 65 63 69 61 6c 2e 6d 61 69 6e 20 28 ">0x22f103.in.std.special.main.(
69720 74 65 73 74 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 73 73 3d test)</span></span>.<span.class=
69740 22 6c 69 6e 65 22 3e 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 "line">........}.else.test_fn.fu
69760 6e 63 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 nc();</span>.<span.class="line">
69780 20 20 20 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
697a0 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
697c0 73 70 61 6e 20 63 6c 61 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
697e0 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
69800 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:551:22</span>:.<span.c
69820 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 38 34 37 63 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x22847c.in.std.star
69840 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a t.callMain.(test)</span></span>.
69860 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
69880 6f 6f 74 2e 6d 61 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 22 oot.main();</span>.<span.class="
698a0 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 3c 73 70 61 6e line">.....................<span
698c0 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
698e0 73 70 61 6e 20 63 6c 61 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
69900 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
69920 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:495:12</span>:.<span.c
69940 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 30 62 65 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x2090be.in.std.star
69960 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e t.callMainWithArgs.(test)</span>
69980 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 </span>.<span.class="line">....r
699a0 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 eturn.@call(.{..modifier.=..alwa
699c0 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 ys_inline.},.callMain,..{});</sp
699e0 61 6e 3e 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">.........
69a00 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f ..<span.class="t32_1">^</span></
69a20 73 70 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
69a40 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c lass="t1_0">/home/andy/tmp/zig/l
69a60 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 ib/std/start.zig:409:17</span>:.
69a80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 31 35 36 20 69 6e 20 73 <span.class="t2_0">0x208156.in.s
69aa0 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 td.start.posixCallMainAndExit.(t
69ac0 65 73 74 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 73 73 3d 22 est)</span></span>.<span.class="
69ae0 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e line">....std.os.exit(@call(.{..
69b00 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c modifier.=..always_inline.},.cal
69b20 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e lMainWithArgs,..{.argc,.argv,.en
69b40 76 70 20 7d 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 vp.}));</span>.<span.class="line
69b60 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
69b80 33 32 5f 31 22 3e 5e 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 32_1">^</span></span>.<span.clas
69ba0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d s="line"><span.class="t1_0">/hom
69bc0 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 e/andy/tmp/zig/lib/std/start.zig
69be0 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 :322:5</span>:.<span.class="t2_0
69c00 22 3e 30 78 32 30 37 66 36 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 ">0x207f62.in.std.start._start.(
69c20 74 65 73 74 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 73 73 3d test)</span></span>.<span.class=
69c40 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 "line">....@call(.{..modifier.=.
69c60 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e .never_inline.},.posixCallMainAn
69c80 64 45 78 69 74 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 dExit,..{});</span>.<span.class=
69ca0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e "line">....<span.class="t32_1">^
69cc0 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
69ce0 22 3e 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
69d00 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d and.crashed:</span>.<span.class=
69d20 22 6c 69 6e 65 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 65 36 "line">docgen_tmp/zig-cache/o/e6
69d40 32 64 35 62 36 34 33 64 30 38 66 31 61 63 62 62 31 33 38 36 64 62 39 32 65 62 30 66 32 33 2f 74 2d5b643d08f1acbb1386db92eb0f23/t
69d60 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c est./home/andy/tmp/zig/build-rel
69d80 65 61 73 65 2f 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 ease/zig</span>.</samp></pre></f
69da0 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 41 74 2d 43 igure>..............<h3.id="At-C
69dc0 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 74 2d 43 6f ompile-Time"><a.href="#toc-At-Co
69de0 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 2f 61 3e 20 mpile-Time">At.Compile-Time</a>.
69e00 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 70 69 6c 65 <a.class="hdr".href="#At-Compile
69e20 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 69 67 75 72 -Time">..</a></h3>........<figur
69e40 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
69e60 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e ite.class="file">test.zig</cite>
69e80 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
69ea0 61 73 73 3d 22 6c 69 6e 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">
69ec0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 const</span>.assert.=.<span.clas
69ee0 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>(<
69f00 73 70 61 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
69f20 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 70 61 6e uot;</span>).debug.assert;</span
69f40 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
69f60 61 6e 20 63 6c 61 73 73 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
69f80 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
69fa0 6b 2d 73 74 72 22 3e 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 k-str">&quot;type.of.unreachable
69fc0 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
69fe0 73 73 3d 22 6c 69 6e 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
6a000 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
6a020 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
6a040 73 73 3d 22 74 6f 6b 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 ss="tok-comment">//.The.type.of.
6a060 75 6e 72 65 61 63 68 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 unreachable.is.noreturn.</span><
6a080 2f 73 70 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
6a0a0 3e 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
6a0c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 6f 77 65 76 65 an.class="tok-comment">//.Howeve
6a0e0 72 20 74 68 69 73 20 61 73 73 65 72 74 69 6f 6e 20 77 69 6c 6c 20 73 74 69 6c 6c 20 66 61 69 6c r.this.assertion.will.still.fail
6a100 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 65 63 61 75 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .to.compile.because</span></span
6a120 3e 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
6a140 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 72 65 61 63 an.class="tok-comment">//.unreac
6a160 68 61 62 6c 65 20 65 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 hable.expressions.are.compile.er
6a180 72 6f 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 3d rors.</span></span>.<span.class=
6a1a0 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
6a1c0 22 3e 20 20 20 20 20 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 ">........assert(<span.class="to
6a1e0 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 6e 20 k-builtin">@TypeOf</span>(<span.
6a200 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
6a220 3e 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 6e 6f 72 >).==.<span.class="tok-type">nor
6a240 65 74 75 72 6e 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 eturn</span>);</span>.<span.clas
6a260 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
6a280 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></
6a2a0 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
6a2c0 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><
6a2e0 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
6a300 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 kbd>zig.test.test.zig</kbd></spa
6a320 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
6a340 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a s="t1_0">docgen_tmp/test.zig:10:
6a360 31 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 16:.</span><span.class="t31_1">e
6a380 72 72 6f 72 3a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 20 rror:</span><span.class="t1_0">.
6a3a0 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c unreachable.code</span>.<span.cl
6a3c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 61 73 73 65 72 74 ass="line"></span>........assert
6a3e0 28 40 54 79 70 65 4f 66 28 75 6e 72 65 61 63 68 61 62 6c 65 29 20 3d 3d 20 6e 6f 72 65 74 75 72 (@TypeOf(unreachable).==.noretur
6a400 6e 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 n);</span>.<span.class="line">..
6a420 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 33 32 5f 31 22 .............<span.class="t32_1"
6a440 3e 5e 3c 2f 73 70 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
6a460 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d pan><span.class="t1_0">docgen_tm
6a480 70 2f 74 65 73 74 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 p/test.zig:10:24:.</span><span.c
6a4a0 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 lass="t36_1">note:</span><span.c
6a4c0 6c 61 73 73 3d 22 74 31 5f 30 22 3e 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 69 73 20 64 69 76 lass="t1_0">.control.flow.is.div
6a4e0 65 72 74 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c erted.here</span>.<span.class="l
6a500 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 40 54 79 70 65 ine"></span>........assert(@Type
6a520 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 3b 3c 2f 73 Of(unreachable).==.noreturn);</s
6a540 70 61 6e 3e 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">........
6a560 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 33 32 5f ...............<span.class="t32_
6a580 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 1">^</span>.<span.class="line"><
6a5a0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 /span></span>.</samp></pre></fig
6a5c0 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>.
6a5e0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 54 65 73 74 22 3e 5a 69 67 20 54 65 73 74 <li><a.href="#Zig-Test">Zig.Test
6a600 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 42 75 69 6c 64 2d 4d 6f </a></li>.<li><a.href="#Build-Mo
6a620 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 de">Build.Mode</a></li>.<li><a.h
6a640 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 69 ref="#comptime">comptime</a></li
6a660 3e 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 32 >.</ul>......................<h2
6a680 20 69 64 3d 22 6e 6f 72 65 74 75 72 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6e 6f 72 .id="noreturn"><a.href="#toc-nor
6a6a0 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 eturn">noreturn</a>.<a.class="hd
6a6c0 72 22 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 75 72 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a r".href="#noreturn">..</a></h2>.
6a6e0 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
6a700 73 73 3d 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"
6a720 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 20 69 >noreturn</span></span></code>.i
6a740 73 20 74 68 65 20 74 79 70 65 20 6f 66 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 s.the.type.of:.......</p>.......
6a760 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 20 63 <ul>...........<li><code><span.c
6a780 6c 61 73 73 3d 22 6c 69 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"
6a7a0 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 6c 69 3e >break</span></span></code></li>
6a7c0 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
6a7e0 3d 22 6c 69 6e 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
6a800 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 3c 2f 6c 69 3e 0a tinue</span></span></code></li>.
6a820 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=
6a840 22 6c 69 6e 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 75 "line"><span.class="tok-kw">retu
6a860 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 20 rn</span></span></code></li>....
6a880 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
6a8a0 6e 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 65 61 63 68 ne"><span.class="tok-kw">unreach
6a8c0 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 3c 2f 6c 69 3e 0a 20 able</span></span></code></li>..
6a8e0 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="
6a900 6c 69 6e 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
6a920 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">
6a940 74 72 75 65 3c 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 6c true</span>).{}</span></code></l
6a960 69 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 72 65 73 i>.......</ul>.......<p>When.res
6a980 6f 6c 76 69 6e 67 20 74 79 70 65 73 20 74 6f 67 65 74 68 65 72 2c 20 73 75 63 68 20 61 73 20 3c olving.types.together,.such.as.<
6a9a0 63 6f 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
6a9c0 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 63 ass="tok-kw">if</span></span></c
6a9e0 6f 64 65 3e 20 63 6c 61 75 73 65 73 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ode>.clauses.or.<code><span.clas
6aa00 73 3d 22 6c 69 6e 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
6aa20 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 70 72 6f 6e 67 73 itch</span></span></code>.prongs
6aa40 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ,...............the.<code><span.
6aa60 63 6c 61 73 73 3d 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
6aa80 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 3c 2f 63 6f 64 65 pe">noreturn</span></span></code
6aaa0 3e 20 74 79 70 65 20 69 73 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 65 76 65 72 79 20 >.type.is.compatible.with.every.
6aac0 6f 74 68 65 72 20 74 79 70 65 2e 20 43 6f 6e 73 69 64 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e other.type..Consider:.......</p>
6aae0 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
6ab00 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
6ab20 73 74 5f 6e 6f 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 69 st_noreturn.zig</cite></figcapti
6ab40 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"
6ab60 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>.
6ab80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 <span.class="tok-fn">foo</span>(
6aba0 63 6f 6e 64 69 74 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 condition:.<span.class="tok-type
6abc0 22 3e 62 6f 6f 6c 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 ">bool</span>,.b:.<span.class="t
6abe0 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">u32</span>).<span.class
6ac00 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>
6ac20 0a 3c 73 70 61 6e 20 63 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
6ac40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c 73 ass="tok-kw">const</span>.a.=.<s
6ac60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 6f pan.class="tok-kw">if</span>.(co
6ac80 6e 64 69 74 69 6f 6e 29 20 62 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ndition).b.<span.class="tok-kw">
6aca0 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"
6acc0 3e 72 65 74 75 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 >return</span>;</span>.<span.cla
6ace0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ss="line">...._.=.a;</span>.<spa
6ad00 6e 20 63 6c 61 73 73 3d 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="
6ad20 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e tok-builtin">@panic</span>(<span
6ad40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 20 73 6f 6d 65 74 68 .class="tok-str">&quot;do.someth
6ad60 69 6e 67 20 77 69 74 68 20 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e ing.with.a&quot;</span>);</span>
6ad80 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
6ada0 61 6e 20 63 6c 61 73 73 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
6adc0 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
6ade0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 72 65 74 75 72 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 k-str">&quot;noreturn&quot;</spa
6ae00 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">.
6ae20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 ...foo(<span.class="tok-null">fa
6ae40 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d lse</span>,.<span.class="tok-num
6ae60 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
6ae80 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><
6aea0 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
6aec0 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>
6aee0 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
6af00 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 67 3c <kbd>zig.test.test_noreturn.zig<
6af20 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
6af40 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 6f 72 65 74 75 72 6e 26 71 75 6f 74 3b 2e 2e 2e 1/1.test.&quot;noreturn&quot;...
6af60 20 4f 4b 3c 2f 73 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 6c .OK</span>.<span.class="line">Al
6af80 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e l.1.tests.passed.</span>.</samp>
6afa0 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 6e 6f 74 68 65 72 </pre></figure>.......<p>Another
6afc0 20 75 73 65 20 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 .use.case.for.<code><span.class=
6afe0 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 6e 6f "line"><span.class="tok-type">no
6b000 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 69 73 20 74 return</span></span></code>.is.t
6b020 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 65 78 69 74 he.<code><span.class="line">exit
6b040 3c 2f 73 70 61 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 </span></code>.function:</p>....
6b060 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
6b080 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 6e 6f 72 65 74 75 g-cap"><cite.class="file">noretu
6b0a0 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
6b0c0 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
6b0e0 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
6b100 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
6b120 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="
6b140 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>)
6b160 3b 3c 2f 73 70 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
6b180 6e 20 63 6c 61 73 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
6b1a0 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
6b1c0 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
6b1e0 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
6b200 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
6b220 70 61 6e 20 63 6c 61 73 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>.
6b240 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;<
6b260 2f 73 70 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.
6b280 63 6c 61 73 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
6b2a0 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>.
6b2c0 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
6b2e0 20 63 6c 61 73 73 3d 22 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
6b300 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
6b320 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
6b340 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
6b360 72 63 68 20 3d 3d 20 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 rch.==..<span.class="tok-type">i
6b380 33 38 36 3c 2f 73 70 61 6e 3e 29 20 2e 53 74 64 63 61 6c 6c 20 3c 73 70 61 6e 20 63 6c 61 73 73 386</span>)..Stdcall.<span.class
6b3a0 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 3e ="tok-kw">else</span>..C;</span>
6b3c0 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=
6b3e0 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">extern</span>.<span.cla
6b400 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 74 ss="tok-str">&quot;kernel32&quot
6b420 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 6e ;</span>.<span.class="tok-kw">fn
6b440 3c 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 69 </span>.<span.class="tok-fn">Exi
6b460 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 6e tProcess</span>(exit_code:.<span
6b480 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 29 .class="tok-type">c_uint</span>)
6b4a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f .<span.class="tok-kw">callconv</
6b4c0 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 74 span>(WINAPI).<span.class="tok-t
6b4e0 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 70 ype">noreturn</span>;</span>.<sp
6b500 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
6b520 61 73 73 3d 22 6c 69 6e 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">
6b540 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
6b560 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 6e ">&quot;foo&quot;</span>.{</span
6b580 3e 0a 3c 73 70 61 6e 20 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
6b5a0 6c 61 73 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 lass="tok-kw">const</span>.value
6b5c0 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 61 .=.bar().<span.class="tok-kw">ca
6b5e0 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 61 tch</span>.ExitProcess(<span.cla
6b600 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 6e ss="tok-number">1</span>);</span
6b620 3e 0a 3c 73 70 61 6e 20 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
6b640 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(
6b660 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 value.==.<span.class="tok-number
6b680 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 61 ">1234</span>);</span>.<span.cla
6b6a0 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="
6b6c0 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"
6b6e0 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>.
6b700 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 28 <span.class="tok-fn">bar</span>(
6b720 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
6b740 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">
6b760 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 3d u32</span>.{</span>.<span.class=
6b780 22 6c 69 6e 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">
6b7a0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e return</span>.<span.class="tok-n
6b7c0 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 6e umber">1234</span>;</span>.<span
6b7e0 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
6b800 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.
6b820 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
6b840 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
6b860 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 6e 6f 72 65 74 75 72 6e 5f 66 72 6f 6d 5f ">$.<kbd>zig.test.noreturn_from_
6b880 65 78 69 74 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 78 38 36 5f 36 34 2d 77 69 6e 64 6f 77 73 20 exit.zig.-target.x86_64-windows.
6b8a0 2d 2d 74 65 73 74 2d 6e 6f 2d 65 78 65 63 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 --test-no-exec</kbd></span>.</sa
6b8c0 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>..............
6b8e0 20 3c 68 32 20 69 64 3d 22 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f .<h2.id="Functions"><a.href="#to
6b900 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c c-Functions">Functions</a>.<a.cl
6b920 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 73 22 3e c2 a7 3c 2f ass="hdr".href="#Functions">..</
6b940 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
6b960 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="
6b980 66 69 6c 65 22 3e 66 75 6e 63 74 69 6f 6e 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 file">functions.zig</cite></figc
6b9a0 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
6b9c0 69 6e 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<
6b9e0 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
6ba00 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
6ba20 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
6ba40 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"><
6ba60 73 70 61 6e 20 63 6c 61 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>
6ba80 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
6baa0 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=
6bac0 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
6bae0 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"
6bb00 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
6bb20 6e 3e 20 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 n>.native_arch.=.builtin.cpu.arc
6bb40 68 3b 3c 2f 73 70 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 h;</span>.<span.class="line"><sp
6bb60 61 6e 20 63 6c 61 73 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
6bb80 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
6bba0 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
6bbc0 70 61 6e 20 63 6c 61 73 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
6bbe0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 64 65 63 6c k-comment">//.Functions.are.decl
6bc00 61 72 65 64 20 6c 69 6b 65 20 74 68 69 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ared.like.this</span></span>.<sp
6bc20 61 6e 20 63 6c 61 73 73 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
6bc40 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-
6bc60 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
6bc80 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 61 ok-type">i8</span>,.b:.<span.cla
6bca0 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 63 ss="tok-type">i8</span>).<span.c
6bcc0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 lass="tok-type">i8</span>.{</spa
6bce0 6e 3e 0a 3c 73 70 61 6e 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.
6bd00 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 3d 3d 20 3c class="tok-kw">if</span>.(a.==.<
6bd20 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>
6bd40 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">..
6bd60 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
6bd80 6e 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 73 3d 22 n</span>.b;</span>.<span.class="
6bda0 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="
6bdc0 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"
6bde0 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 6e >....<span.class="tok-kw">return
6be00 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 73 </span>.a.+.b;</span>.<span.clas
6be20 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
6be40 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">
6be60 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
6be80 20 65 78 70 6f 72 74 20 73 70 65 63 69 66 69 65 72 20 6d 61 6b 65 73 20 61 20 66 75 6e 63 74 69 .export.specifier.makes.a.functi
6bea0 6f 6e 20 65 78 74 65 72 6e 61 6c 6c 79 20 76 69 73 69 62 6c 65 20 69 6e 20 74 68 65 20 67 65 6e on.externally.visible.in.the.gen
6bec0 65 72 61 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 erated</span></span>.<span.class
6bee0 3d 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
6bf00 22 3e 2f 2f 20 6f 62 6a 65 63 74 20 66 69 6c 65 2c 20 61 6e 64 20 6d 61 6b 65 73 20 69 74 20 75 ">//.object.file,.and.makes.it.u
6bf20 73 65 20 74 68 65 20 43 20 41 42 49 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 se.the.C.ABI.</span></span>.<spa
6bf40 6e 20 63 6c 61 73 73 3d 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-
6bf60 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
6bf80 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
6bfa0 6b 2d 66 6e 22 3e 73 75 62 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-fn">sub</span>(a:.<span.class=
6bfc0 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 "tok-type">i8</span>,.b:.<span.c
6bfe0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e lass="tok-type">i8</span>).<span
6c000 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 .class="tok-type">i8</span>.{.<s
6c020 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>
6c040 20 61 20 2d 20 62 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 .a.-.b;.}</span>.<span.class="li
6c060 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"><
6c080 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.
6c0a0 65 78 74 65 72 6e 20 73 70 65 63 69 66 69 65 72 20 69 73 20 75 73 65 64 20 74 6f 20 64 65 63 6c extern.specifier.is.used.to.decl
6c0c0 61 72 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 72 65 73 6f are.a.function.that.will.be.reso
6c0e0 6c 76 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 lved</span></span>.<span.class="
6c100 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">
6c120 2f 2f 20 61 74 20 6c 69 6e 6b 20 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 73 74 //.at.link.time,.when.linking.st
6c140 61 74 69 63 61 6c 6c 79 2c 20 6f 72 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 atically,.or.at.runtime,.when.li
6c160 6e 6b 69 6e 67 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 nking</span></span>.<span.class=
6c180 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"
6c1a0 3e 2f 2f 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c >//.dynamically.</span></span>.<
6c1c0 73 70 61 6e 20 63 6c 61 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
6c1e0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 63 61 6c 6c 63 6f 6e 76 20 73 70 65 63 ok-comment">//.The.callconv.spec
6c200 69 66 69 65 72 20 63 68 61 6e 67 65 73 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e ifier.changes.the.calling.conven
6c220 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 tion.of.the.function.</span></sp
6c240 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
6c260 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 49 4e 41 50 49 3a ss="tok-kw">const</span>.WINAPI:
6c280 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 61 6c 6c 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 20 3d .std.builtin.CallingConvention.=
6c2a0 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>.
6c2c0 28 6e 61 74 69 76 65 5f 61 72 63 68 20 3d 3d 20 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f (native_arch.==..<span.class="to
6c2e0 6b 2d 74 79 70 65 22 3e 69 33 38 36 3c 2f 73 70 61 6e 3e 29 20 2e 53 74 64 63 61 6c 6c 20 3c 73 k-type">i386</span>)..Stdcall.<s
6c300 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 2e pan.class="tok-kw">else</span>..
6c320 43 3b 3c 2f 73 70 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 C;</span>.<span.class="line"><sp
6c340 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 3e 20 an.class="tok-kw">extern</span>.
6c360 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6b 65 72 6e <span.class="tok-str">&quot;kern
6c380 65 6c 33 32 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 el32&quot;</span>.<span.class="t
6c3a0 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
6c3c0 6b 2d 66 6e 22 3e 45 78 69 74 50 72 6f 63 65 73 73 3c 2f 73 70 61 6e 3e 28 65 78 69 74 5f 63 6f k-fn">ExitProcess</span>(exit_co
6c3e0 64 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 33 32 3c 2f de:.<span.class="tok-type">u32</
6c400 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 6c span>).<span.class="tok-kw">call
6c420 63 6f 6e 76 3c 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 conv</span>(WINAPI).<span.class=
6c440 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 "tok-type">noreturn</span>;</spa
6c460 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
6c480 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 s="tok-kw">extern</span>.<span.c
6c4a0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 lass="tok-str">&quot;c&quot;</sp
6c4c0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 an>.<span.class="tok-kw">fn</spa
6c4e0 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 74 61 6e 32 3c 2f 73 n>.<span.class="tok-fn">atan2</s
6c500 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 66 pan>(a:.<span.class="tok-type">f
6c520 36 34 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 64</span>,.b:.<span.class="tok-t
6c540 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">f64</span>).<span.class="to
6c560 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 3e 0a 3c 73 70 61 6e k-type">f64</span>;</span>.<span
6c580 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
6c5a0 73 3d 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
6c5c0 74 22 3e 2f 2f 20 54 68 65 20 40 73 65 74 43 6f 6c 64 20 62 75 69 6c 74 69 6e 20 74 65 6c 6c 73 t">//.The.@setCold.builtin.tells
6c5e0 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 .the.optimizer.that.a.function.i
6c600 73 20 72 61 72 65 6c 79 20 63 61 6c 6c 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c s.rarely.called.</span></span>.<
6c620 73 70 61 6e 20 63 6c 61 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
6c640 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
6c660 6b 2d 66 6e 22 3e 61 62 6f 72 74 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-fn">abort</span>().<span.class
6c680 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 20 7b 3c 2f 73 ="tok-type">noreturn</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 3c 73 70 61 pan>.<span.class="line">....<spa
6c6c0 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 43 6f 6c 64 3c 2f n.class="tok-builtin">@setCold</
6c6e0 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 74 72 75 span>(<span.class="tok-null">tru
6c700 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 22 6c e</span>);</span>.<span.class="l
6c720 69 6e 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
6c740 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c ile</span>.(<span.class="tok-nul
6c760 6c 22 3e 74 72 75 65 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 l">true</span>).{}</span>.<span.
6c780 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
6c7a0 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
6c7c0 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">//
6c7e0 20 54 68 65 20 6e 61 6b 65 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6d 61 .The.naked.calling.convention.ma
6c800 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 20 68 61 76 65 20 61 6e 79 20 66 75 6e 63 kes.a.function.not.have.any.func
6c820 74 69 6f 6e 20 70 72 6f 6c 6f 67 75 65 20 6f 72 20 65 70 69 6c 6f 67 75 65 2e 3c 2f 73 70 61 6e tion.prologue.or.epilogue.</span
6c840 3e 3c 2f 73 70 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
6c860 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 63 61 n.class="tok-comment">//.This.ca
6c880 6e 20 62 65 20 75 73 65 66 75 6c 20 77 68 65 6e 20 69 6e 74 65 67 72 61 74 69 6e 67 20 77 69 74 n.be.useful.when.integrating.wit
6c8a0 68 20 61 73 73 65 6d 62 6c 79 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 h.assembly.</span></span>.<span.
6c8c0 63 6c 61 73 73 3d 22 6c 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
6c8e0 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"
6c900 3e 5f 73 74 61 72 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 >_start</span>().<span.class="to
6c920 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 4e 61 6b 65 64 29 20 3c 73 k-kw">callconv</span>(.Naked).<s
6c940 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 73 pan.class="tok-type">noreturn</s
6c960 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"
6c980 3e 20 20 20 20 61 62 6f 72 74 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >....abort();</span>.<span.class
6c9a0 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
6c9c0 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"><
6c9e0 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.
6ca00 69 6e 6c 69 6e 65 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 66 6f 72 63 65 73 inline.calling.convention.forces
6ca20 20 61 20 66 75 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 .a.function.to.be.inlined.at.all
6ca40 20 63 61 6c 6c 20 73 69 74 65 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .call.sites.</span></span>.<span
6ca60 20 63 6c 61 73 73 3d 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
6ca80 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 6e 6f omment">//.If.the.function.canno
6caa0 74 20 62 65 20 69 6e 6c 69 6e 65 64 2c 20 69 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 t.be.inlined,.it.is.a.compile-ti
6cac0 6d 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 6c me.error.</span></span>.<span.cl
6cae0 61 73 73 3d 22 6c 69 6e 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">
6cb00 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 73 fn</span>.<span.class="tok-fn">s
6cb20 68 69 66 74 4c 65 66 74 4f 6e 65 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 hiftLeftOne</span>(a:.<span.clas
6cb40 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 s="tok-type">u32</span>).<span.c
6cb60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 49 lass="tok-kw">callconv</span>(.I
6cb80 6e 6c 69 6e 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 75 33 nline).<span.class="tok-type">u3
6cba0 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 6c 2</span>.{</span>.<span.class="l
6cbc0 69 6e 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
6cbe0 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 turn</span>.a.&lt;&lt;.<span.cla
6cc00 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>
6cc20 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
6cc40 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
6cc60 61 73 73 3d 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
6cc80 65 6e 74 22 3e 2f 2f 20 54 68 65 20 70 75 62 20 73 70 65 63 69 66 69 65 72 20 61 6c 6c 6f 77 73 ent">//.The.pub.specifier.allows
6cca0 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 76 69 73 69 62 6c 65 20 77 68 65 6e .the.function.to.be.visible.when
6ccc0 20 69 6d 70 6f 72 74 69 6e 67 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .importing.</span></span>.<span.
6cce0 63 6c 61 73 73 3d 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
6cd00 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 6f 74 68 65 72 20 66 69 6c 65 20 63 61 6e 20 75 73 65 20 40 mment">//.Another.file.can.use.@
6cd20 69 6d 70 6f 72 74 20 61 6e 64 20 63 61 6c 6c 20 73 75 62 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 import.and.call.sub2</span></spa
6cd40 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
6cd60 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
6cd80 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
6cda0 3d 22 74 6f 6b 2d 66 6e 22 3e 73 75 62 32 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 ="tok-fn">sub2</span>(a:.<span.c
6cdc0 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 2c 20 62 3a 20 3c 73 lass="tok-type">i8</span>,.b:.<s
6cde0 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 29 20 pan.class="tok-type">i8</span>).
6ce00 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>
6ce20 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f .{.<span.class="tok-kw">return</
6ce40 73 70 61 6e 3e 20 61 20 2d 20 62 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 span>.a.-.b;.}</span>.<span.clas
6ce60 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
6ce80 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">//
6cea0 20 46 75 6e 63 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 76 61 6c 75 65 73 .Functions.can.be.used.as.values
6cec0 20 61 6e 64 20 61 72 65 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 70 6f 69 6e 74 65 72 73 2e .and.are.equivalent.to.pointers.
6cee0 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
6cf00 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
6cf20 61 6e 3e 20 63 61 6c 6c 32 5f 6f 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>.call2_op.=.<span.class="tok-
6cf40 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 74 kw">fn</span>.(a:.<span.class="t
6cf60 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 61 ok-type">i8</span>,.b:.<span.cla
6cf80 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 63 ss="tok-type">i8</span>).<span.c
6cfa0 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 6e lass="tok-type">i8</span>;</span
6cfc0 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
6cfe0 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=
6d000 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 63 "tok-fn">do_op</span>(fn_call:.c
6d020 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 74 all2_op,.op1:.<span.class="tok-t
6d040 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 73 ype">i8</span>,.op2:.<span.class
6d060 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 61 ="tok-type">i8</span>).<span.cla
6d080 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 3e ss="tok-type">i8</span>.{</span>
6d0a0 0a 3c 73 70 61 6e 20 63 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
6d0c0 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 61 ass="tok-kw">return</span>.fn_ca
6d0e0 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 73 ll(op1,.op2);</span>.<span.class
6d100 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
6d120 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"><
6d140 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>.
6d160 3c 73 70 61 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 <span.class="tok-str">&quot;func
6d180 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 6e tion&quot;</span>.{</span>.<span
6d1a0 20 63 6c 61 73 73 3d 22 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
6d1c0 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 61 ok-kw">try</span>.expect(do_op(a
6d1e0 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 2f dd,.<span.class="tok-number">5</
6d200 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">
6d220 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 75 6</span>).==.<span.class="tok-nu
6d240 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 63 mber">11</span>);</span>.<span.c
6d260 6c 61 73 73 3d 22 6c 69 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
6d280 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 62 -kw">try</span>.expect(do_op(sub
6d2a0 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 73 2,.<span.class="tok-number">5</s
6d2c0 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
6d2e0 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 75 </span>).==.-<span.class="tok-nu
6d300 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 6c mber">1</span>);</span>.<span.cl
6d320 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>
6d340 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
6d360 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
6d380 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ><pre><samp><span.class="line">$
6d3a0 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 66 75 6e 63 74 69 6f 6e 73 2e 7a 69 67 3c 2f 6b 62 .<kbd>zig.test.functions.zig</kb
6d3c0 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 d></span>.<span.class="line">1/1
6d3e0 20 74 65 73 74 20 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b .test.&quot;function&quot;....OK
6d400 3c 2f 73 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 6c 6c 20 31 </span>.<span.class="line">All.1
6d420 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 .tests.passed.</span>.</samp></p
6d440 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 46 75 6e 63 74 69 6f 6e 20 76 re></figure>.......<p>Function.v
6d460 61 6c 75 65 73 20 61 72 65 20 6c 69 6b 65 20 70 6f 69 6e 74 65 72 73 3a 3c 2f 70 3e 0a 20 20 20 alues.are.like.pointers:</p>....
6d480 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
6d4a0 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 2e 7a g-cap"><cite.class="file">test.z
6d4c0 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
6d4e0 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=
6d500 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c "tok-kw">const</span>.assert.=.<
6d520 73 70 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
6d540 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
6d560 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 61 73 73 65 uot;std&quot;</span>).debug.asse
6d580 72 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 rt;</span>.<span.class="line"></
6d5a0 73 70 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
6d5c0 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>.{<
6d5e0 2f 73 70 61 6e 3e 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 /span>.<span.class="line">....as
6d600 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 sert(<span.class="tok-builtin">@
6d620 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 TypeOf</span>(foo).==.<span.clas
6d640 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 29 3c 73 70 61 6e 20 63 6c 61 73 s="tok-kw">fn</span>()<span.clas
6d660 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 73 70 61 6e s="tok-type">void</span>);</span
6d680 3e 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(
6d6a0 3c 73 70 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 <span.class="tok-builtin">@sizeO
6d6c0 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 66 6e f</span>(<span.class="tok-kw">fn
6d6e0 3c 2f 73 70 61 6e 3e 28 29 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">
6d700 76 6f 69 64 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 void</span>).==.<span.class="tok
6d720 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 3f 3c 73 70 61 6e 20 -builtin">@sizeOf</span>(?<span.
6d740 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 29 3c 73 70 61 6e 20 class="tok-kw">fn</span>()<span.
6d760 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 29 3b 3c class="tok-type">void</span>));<
6d780 2f 73 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
6d7a0 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
6d7c0 70 61 6e 20 63 6c 61 73 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
6d7e0 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
6d800 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 74 -fn">foo</span>().<span.class="t
6d820 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 20 7d 3c 2f 73 70 61 6e 3e 3c ok-type">void</span>.{.}</span><
6d840 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
6d860 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
6d880 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><samp><span.cl
6d8a0 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 ass="line">$.<kbd>zig.build-obj.
6d8c0 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 test.zig</kbd></span>.</samp></p
6d8e0 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 3d 22 50 61 73 73 2d re></figure>.......<h3.id="Pass-
6d900 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 22 23 74 by-value-Parameters"><a.href="#t
6d920 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 50 61 73 oc-Pass-by-value-Parameters">Pas
6d940 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 63 6c 61 s-by-value.Parameters</a>.<a.cla
6d960 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 2d 50 61 ss="hdr".href="#Pass-by-value-Pa
6d980 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 3c 70 3e rameters">..</a></h3>........<p>
6d9a0 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 73 20 3c .......Primitive.types.such.as.<
6d9c0 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 20 a.href="#Integers">Integers</a>.
6d9e0 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 2f 61 3e and.<a.href="#Floats">Floats</a>
6da00 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 72 65 20 .passed.as.parameters.......are.
6da20 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 61 76 61 copied,.and.then.the.copy.is.ava
6da40 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 54 68 69 ilable.in.the.function.body..Thi
6da60 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 22 2e 0a s.is.called."passing.by.value"..
6da80 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 65 20 69 ......Copying.a.primitive.type.i
6daa0 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 6c 6c 79 s.essentially.free.and.typically
6dac0 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 20 20 20 .involves.nothing.more.than.....
6dae0 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 2f 70 3e ..setting.a.register........</p>
6db00 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 6f 6e 73 .......<p>.......Structs,.unions
6db20 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 20 6d 6f ,.and.arrays.can.sometimes.be.mo
6db40 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 66 65 72 re.efficiently.passed.as.a.refer
6db60 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 64 20 62 ence,.since.a.copy.......could.b
6db80 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 64 69 6e e.arbitrarily.expensive.dependin
6dba0 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 65 73 20 g.on.the.size..When.these.types.
6dbc0 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 73 2c 20 are.passed.......as.parameters,.
6dbe0 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 73 73 20 Zig.may.choose.to.copy.and.pass.
6dc00 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 65 2c 20 by.value,.or.pass.by.reference,.
6dc20 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 65 73 20 whichever.way.......Zig.decides.
6dc40 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 70 6f 73 will.be.faster..This.is.made.pos
6dc60 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 68 61 74 sible,.in.part,.by.the.fact.that
6dc80 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 20 20 20 .parameters.are.immutable.......
6dca0 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.
6dcc0 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
6dce0 65 22 3e 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 2e 7a 69 e">pass_by_reference_or_value.zi
6dd00 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>
6dd20 3c 73 70 61 6e 20 63 6c 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="
6dd40 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 70 tok-kw">const</span>.Point.=.<sp
6dd60 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>.
6dd80 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">....
6dda0 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
6ddc0 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">
6dde0 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 ....y:.<span.class="tok-type">i3
6de00 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 69 2</span>,</span>.<span.class="li
6de20 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"
6de40 3e 3c 2f 73 70 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
6de60 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
6de80 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 70 6f 69 6e 74 .class="tok-fn">foo</span>(point
6dea0 3a 20 50 6f 69 6e 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e :.Point).<span.class="tok-type">
6dec0 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 73 73 3d i32</span>.{</span>.<span.class=
6dee0 22 6c 69 6e 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
6df00 65 6e 74 22 3e 2f 2f 20 48 65 72 65 2c 20 60 70 6f 69 6e 74 60 20 63 6f 75 6c 64 20 62 65 20 61 ent">//.Here,.`point`.could.be.a
6df20 20 72 65 66 65 72 65 6e 63 65 2c 20 6f 72 20 61 20 63 6f 70 79 2e 20 54 68 65 20 66 75 6e 63 74 .reference,.or.a.copy..The.funct
6df40 69 6f 6e 20 62 6f 64 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 ion.body</span></span>.<span.cla
6df60 73 73 3d 22 6c 69 6e 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
6df80 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 61 6e 20 69 67 6e 6f 72 65 20 74 68 65 20 64 69 66 66 65 72 omment">//.can.ignore.the.differ
6dfa0 65 6e 63 65 20 61 6e 64 20 74 72 65 61 74 20 69 74 20 61 73 20 61 20 76 61 6c 75 65 2e 20 42 65 ence.and.treat.it.as.a.value..Be
6dfc0 20 76 65 72 79 20 63 61 72 65 66 75 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .very.careful</span></span>.<spa
6dfe0 6e 20 63 6c 61 73 73 3d 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="
6e000 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 61 6b 69 6e 67 20 74 68 65 20 61 64 64 72 65 tok-comment">//.taking.the.addre
6e020 73 73 20 6f 66 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 2d 20 69 74 20 73 68 6f 75 6c 64 20 ss.of.the.parameter.-.it.should.
6e040 62 65 20 74 72 65 61 74 65 64 20 61 73 20 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c be.treated.as.if</span></span>.<
6e060 73 70 61 6e 20 63 6c 61 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
6e080 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 61 64 64 72 65 73 73 20 77 s="tok-comment">//.the.address.w
6e0a0 69 6c 6c 20 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 20 77 68 65 6e 20 74 68 65 20 66 75 6e 63 ill.become.invalid.when.the.func
6e0c0 74 69 6f 6e 20 72 65 74 75 72 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tion.returns.</span></span>.<spa
6e0e0 6e 20 63 6c 61 73 73 3d 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="
6e100 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 70 6f 69 6e 74 2e 78 20 2b 20 tok-kw">return</span>.point.x.+.
6e120 70 6f 69 6e 74 2e 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 point.y;</span>.<span.class="lin
6e140 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"><
6e160 2f 73 70 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.
6e180 63 6c 61 73 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
6e1a0 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">@
6e1c0 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
6e1e0 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
6e200 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="
6e220 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"
6e240 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
6e260 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 61 >.<span.class="tok-str">&quot;pa
6e280 73 73 20 73 74 72 75 63 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 ss.struct.to.function&quot;</spa
6e2a0 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">.
6e2c0 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
6e2e0 6e 3e 20 65 78 70 65 63 74 28 66 6f 6f 28 50 6f 69 6e 74 7b 20 2e 78 20 3d 20 3c 73 70 61 6e 20 n>.expect(foo(Point{..x.=.<span.
6e300 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2e 79 20 class="tok-number">1</span>,..y.
6e320 3d 20 3c 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
6e340 61 6e 3e 20 7d 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 an>.}).==.<span.class="tok-numbe
6e360 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
6e380 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
6e3a0 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=
6e3c0 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
6e3e0 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b re><samp><span.class="line">$.<k
6e400 62 64 3e 7a 69 67 20 74 65 73 74 20 70 61 73 73 5f 62 79 5f 72 65 66 65 72 65 6e 63 65 5f 6f 72 bd>zig.test.pass_by_reference_or
6e420 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c _value.zig</kbd></span>.<span.cl
6e440 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 61 73 73 20 73 ass="line">1/1.test.&quot;pass.s
6e460 74 72 75 63 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 truct.to.function&quot;....OK</s
6e480 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 6c 6c 20 31 20 74 65 pan>.<span.class="line">All.1.te
6e4a0 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e sts.passed.</span>.</samp></pre>
6e4c0 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 46 6f 72 20 65 78 </figure>.......<p>.......For.ex
6e4e0 74 65 72 6e 20 66 75 6e 63 74 69 6f 6e 73 2c 20 5a 69 67 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 tern.functions,.Zig.follows.the.
6e500 43 20 41 42 49 20 66 6f 72 20 70 61 73 73 69 6e 67 20 73 74 72 75 63 74 73 20 61 6e 64 20 75 6e C.ABI.for.passing.structs.and.un
6e520 69 6f 6e 73 20 62 79 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 ions.by.value........</p>.......
6e540 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 .......<h3.id="Function-Paramete
6e560 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d r-Type-Inference"><a.href="#toc-
6e580 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 6e 63 Function-Parameter-Type-Inferenc
6e5a0 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 72 20 54 79 70 65 20 49 6e 66 65 72 e">Function.Parameter.Type.Infer
6e5c0 65 6e 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 22 23 46 ence</a>.<a.class="hdr".href="#F
6e5e0 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 6e 63 65 unction-Parameter-Type-Inference
6e600 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 46 ">..</a></h3>........<p>.......F
6e620 75 6e 63 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 20 63 61 6e 20 62 65 20 64 65 63 6c 61 72 unction.parameters.can.be.declar
6e640 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ed.with.<code><span.class="line"
6e660 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 65 3c 2f 73 ><span.class="tok-kw">anytype</s
6e680 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 74 pan></span></code>.in.place.of.t
6e6a0 68 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20 he.type........In.this.case.the.
6e6c0 70 61 72 61 6d 65 74 65 72 20 74 79 70 65 73 20 77 69 6c 6c 20 62 65 20 69 6e 66 65 72 72 65 64 parameter.types.will.be.inferred
6e6e0 20 77 68 65 6e 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 20 20 .when.the.function.is.called....
6e700 20 20 20 20 55 73 65 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 4f 66 22 3e 40 54 79 70 65 4f ....Use.<a.href="#TypeOf">@TypeO
6e720 66 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 f</a>.and.<a.href="#typeInfo">@t
6e740 79 70 65 49 6e 66 6f 3c 2f 61 3e 20 74 6f 20 67 65 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 ypeInfo</a>.to.get.information.a
6e760 62 6f 75 74 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f bout.the.inferred.type........</
6e780 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
6e7a0 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">
6e7c0 74 65 73 74 5f 66 6e 5f 74 79 70 65 5f 69 6e 66 65 72 65 6e 63 65 2e 7a 69 67 3c 2f 63 69 74 65 test_fn_type_inference.zig</cite
6e7e0 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
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 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
6e840 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>(
6e860 3c 73 70 61 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&
6e880 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
6e8a0 70 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>.
6e8c0 3c 73 70 61 6e 20 63 6c 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="
6e8e0 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
6e900 6f 6b 2d 66 6e 22 3e 61 64 64 46 6f 72 74 79 54 77 6f 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 ok-fn">addFortyTwo</span>(x:.<sp
6e920 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>
6e940 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
6e960 65 4f 66 3c 2f 73 70 61 6e 3e 28 78 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 eOf</span>(x).{</span>.<span.cla
6e980 73 73 3d 22 6c 69 6e 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
6e9a0 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 w">return</span>.x.+.<span.class
6e9c0 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 2f 73 70 61 6e 3e 0a ="tok-number">42</span>;</span>.
6e9e0 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
6ea00 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
6ea20 73 73 3d 22 6c 69 6e 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
6ea40 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"
6ea60 3e 26 71 75 6f 74 3b 66 6e 20 74 79 70 65 20 69 6e 66 65 72 65 6e 63 65 26 71 75 6f 74 3b 3c 2f >&quot;fn.type.inference&quot;</
6ea80 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
6eaa0 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</
6eac0 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 3c 73 70 61 6e 20 63 span>.expect(addFortyTwo(<span.c
6eae0 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>).==.<
6eb00 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 33 3c 2f 73 70 61 6e span.class="tok-number">43</span
6eb20 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">..
6eb40 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
6eb60 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
6eb80 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 77 6f 28 3c 73 n">@TypeOf</span>(addFortyTwo(<s
6eba0 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>)
6ebc0 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 63 6f 6d 70 ).==.<span.class="tok-type">comp
6ebe0 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 time_int</span>);</span>.<span.c
6ec00 6c 61 73 73 3d 22 6c 69 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
6ec20 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 22 -kw">var</span>.y:.<span.class="
6ec40 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 tok-type">i64</span>.=.<span.cla
6ec60 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>
6ec80 0a 3c 73 70 61 6e 20 63 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
6eca0 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
6ecc0 64 64 46 6f 72 74 79 54 77 6f 28 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ddFortyTwo(y).==.<span.class="to
6ece0 6b 2d 6e 75 6d 62 65 72 22 3e 34 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">44</span>);</span>.<sp
6ed00 61 6e 20 63 6c 61 73 73 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=
6ed20 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
6ed40 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
6ed60 61 6e 3e 28 61 64 64 46 6f 72 74 79 54 77 6f 28 79 29 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 an>(addFortyTwo(y)).==.<span.cla
6ed80 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ss="tok-type">i64</span>);</span
6eda0 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
6edc0 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
6ede0 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</
6ee00 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><samp><span.clas
6ee20 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 6e s="line">$.<kbd>zig.test.test_fn
6ee40 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 3c 2f 73 70 61 6e 3e _type_inference.zig</kbd></span>
6ee60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 .<span.class="line">1/1.test.&qu
6ee80 6f 74 3b 66 6e 20 74 79 70 65 20 69 6e 66 65 72 65 6e 63 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b ot;fn.type.inference&quot;....OK
6eea0 3c 2f 73 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 6c 6c 20 31 </span>.<span.class="line">All.1
6eec0 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 .tests.passed.</span>.</samp></p
6eee0 72 65 3e 3c 2f 66 69 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 re></figure>...............<h3.i
6ef00 64 3d 22 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d d="Function-Reflection"><a.href=
6ef20 22 23 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e 46 75 6e 63 74 "#toc-Function-Reflection">Funct
6ef40 69 6f 6e 20 52 65 66 6c 65 63 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ion.Reflection</a>.<a.class="hdr
6ef60 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e c2 a7 ".href="#Function-Reflection">..
6ef80 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
6efa0 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
6efc0 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 69 6f 6e 2e 7a 69 67 3c 2f ="file">test_fn_reflection.zig</
6efe0 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
6f000 61 6e 20 63 6c 61 73 73 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
6f020 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
6f040 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
6f060 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;
6f080 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
6f0a0 3b 3c 2f 73 70 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
6f0c0 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
6f0e0 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
6f100 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 66 6c 65 63 74 69 6f ass="tok-str">&quot;fn.reflectio
6f120 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 20 63 6c n&quot;</span>.{</span>.<span.cl
6f140 61 73 73 3d 22 6c 69 6e 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-
6f160 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
6f180 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 3e s="tok-builtin">@typeInfo</span>
6f1a0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 (<span.class="tok-builtin">@Type
6f1c0 4f 66 3c 2f 73 70 61 6e 3e 28 65 78 70 65 63 74 29 29 2e 46 6e 2e 61 72 67 73 5b 3c 73 70 61 6e Of</span>(expect)).Fn.args[<span
6f1e0 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 2e 61 72 .class="tok-number">0</span>].ar
6f200 67 5f 74 79 70 65 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 g_type.?.==.<span.class="tok-typ
6f220 65 22 3e 62 6f 6f 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 e">bool</span>);</span>.<span.cl
6f240 61 73 73 3d 22 6c 69 6e 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-
6f260 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
6f280 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 3e s="tok-builtin">@typeInfo</span>
6f2a0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 (<span.class="tok-builtin">@Type
6f2c0 4f 66 3c 2f 73 70 61 6e 3e 28 65 78 70 65 63 74 29 29 2e 46 6e 2e 69 73 5f 76 61 72 5f 61 72 67 Of</span>(expect)).Fn.is_var_arg
6f2e0 73 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 6c 73 s.==.<span.class="tok-null">fals
6f300 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 22 6c e</span>);</span>.<span.class="l
6f320 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
6f340 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
6f360 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>
6f380 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e <samp><span.class="line">$.<kbd>
6f3a0 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 69 6f 6e 2e 7a 69 67 3c zig.test.test_fn_reflection.zig<
6f3c0 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
6f3e0 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 66 6e 20 72 65 66 6c 65 63 74 69 6f 6e 26 71 75 6f 1/1.test.&quot;fn.reflection&quo
6f400 74 3b 2e 2e 2e 20 4f 4b 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;....OK</span>.<span.class="lin
6f420 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f e">All.1.tests.passed.</span>.</
6f440 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>............
6f460 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 45 72 72 6f 72 73 22 3e 3c 61 20 68 72 65 66 .........<h2.id="Errors"><a.href
6f480 3d 22 23 74 6f 63 2d 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 ="#toc-Errors">Errors</a>.<a.cla
6f4a0 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f ss="hdr".href="#Errors">..</a></
6f4c0 68 32 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 h2>........<h3.id="Error-Set-Typ
6f4e0 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 e"><a.href="#toc-Error-Set-Type"
6f500 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 >Error.Set.Type</a>.<a.class="hd
6f520 72 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e c2 a7 3c 2f 61 3e r".href="#Error-Set-Type">..</a>
6f540 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 20 65 72 72 6f 72 20 </h3>........<p>.......An.error.
6f560 73 65 74 20 69 73 20 6c 69 6b 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 set.is.like.an.<a.href="#enum">e
6f580 6e 75 6d 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 65 61 63 68 20 65 72 72 num</a>........However,.each.err
6f5a0 6f 72 20 6e 61 6d 65 20 61 63 72 6f 73 73 20 74 68 65 20 65 6e 74 69 72 65 20 63 6f 6d 70 69 6c or.name.across.the.entire.compil
6f5c0 61 74 69 6f 6e 20 67 65 74 73 20 61 73 73 69 67 6e 65 64 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 ation.gets.assigned.an.unsigned.
6f5e0 69 6e 74 65 67 65 72 0a 20 20 20 20 20 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 30 2e 20 59 6f integer.......greater.than.0..Yo
6f600 75 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 74 6f 20 64 65 63 6c 61 72 65 20 74 68 65 20 73 61 6d u.are.allowed.to.declare.the.sam
6f620 65 20 65 72 72 6f 72 20 6e 61 6d 65 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 2c 20 61 6e 64 e.error.name.more.than.once,.and
6f640 20 69 66 20 79 6f 75 20 64 6f 2c 20 69 74 0a 20 20 20 20 20 20 67 65 74 73 20 61 73 73 69 67 6e .if.you.do,.it.......gets.assign
6f660 65 64 20 74 68 65 20 73 61 6d 65 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 ed.the.same.integer.value.......
6f680 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 6e 75 6d 62 65 72 .</p>.......<p>.......The.number
6f6a0 20 6f 66 20 75 6e 69 71 75 65 20 65 72 72 6f 72 20 76 61 6c 75 65 73 20 61 63 72 6f 73 73 20 74 .of.unique.error.values.across.t
6f6c0 68 65 20 65 6e 74 69 72 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 68 6f 75 6c 64 20 64 65 74 he.entire.compilation.should.det
6f6e0 65 72 6d 69 6e 65 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 ermine.the.size.of.the.error.set
6f700 20 74 79 70 65 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 20 72 69 67 68 74 20 6e 6f 77 20 69 .type........However.right.now.i
6f720 74 20 69 73 20 68 61 72 64 20 63 6f 64 65 64 20 74 6f 20 62 65 20 61 20 3c 63 6f 64 65 3e 3c 73 t.is.hard.coded.to.be.a.<code><s
6f740 70 61 6e 20 63 6c 61 73 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
6f760 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-type">u16</span></span></code>
6f780 2e 20 53 65 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f ..See.<a.href="https://github.co
6f7a0 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 37 38 36 22 3e 23 37 36 38 3c 2f m/ziglang/zig/issues/786">#768</
6f7c0 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 59 a>........</p>.......<p>.......Y
6f7e0 6f 75 20 63 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e ou.can.<a.href="#Type-Coercion">
6f800 63 6f 65 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 62 73 65 coerce</a>.an.error.from.a.subse
6f820 74 20 74 6f 20 61 20 73 75 70 65 72 73 65 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 t.to.a.superset:.......</p>.....
6f840 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
6f860 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 6f 65 72 63 69 6e -cap"><cite.class="file">coercin
6f880 67 5f 73 75 62 73 65 74 5f 74 6f 5f 73 75 70 65 72 73 65 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c g_subset_to_superset.zig</cite><
6f8a0 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
6f8c0 73 73 3d 22 6c 69 6e 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
6f8e0 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
6f900 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
6f920 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;
6f940 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
6f960 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"><
6f980 73 70 61 6e 20 63 6c 61 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>
6f9a0 20 46 69 6c 65 4f 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 .FileOpenError.=.<span.class="to
6f9c0 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 61 k-kw">error</span>.{</span>.<spa
6f9e0 6e 20 63 6c 61 73 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 n.class="line">....AccessDenied,
6fa00 3c 2f 73 70 61 6e 3e 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 </span>.<span.class="line">....O
6fa20 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 3d 22 utOfMemory,</span>.<span.class="
6fa40 6c 69 6e 65 22 3e 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 line">....FileNotFound,</span>.<
6fa60 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
6fa80 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
6faa0 73 73 3d 22 6c 69 6e 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
6fac0 6f 6e 73 74 3c 2f 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 onst</span>.AllocationError.=.<s
6fae0 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 20 pan.class="tok-kw">error</span>.
6fb00 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">....
6fb20 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 3d OutOfMemory,</span>.<span.class=
6fb40 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 69 "line">};</span>.<span.class="li
6fb60 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"><
6fb80 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>.
6fba0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 <span.class="tok-str">&quot;coer
6fbc0 63 65 20 73 75 62 73 65 74 20 74 6f 20 73 75 70 65 72 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 ce.subset.to.superset&quot;</spa
6fbe0 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">.
6fc00 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
6fc20 70 61 6e 3e 20 65 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 pan>.err.=.foo(AllocationError.O
6fc40 75 74 4f 66 4d 65 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 utOfMemory);</span>.<span.class=
6fc60 22 6c 69 6e 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">
6fc80 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 65 72 try</span>.std.testing.expect(er
6fca0 72 20 3d 3d 20 46 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 r.==.FileOpenError.OutOfMemory);
6fcc0 3c 2f 73 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
6fce0 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>.<
6fd00 73 70 61 6e 20 63 6c 61 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
6fd20 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
6fd40 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 41 6c 6c 6f 63 61 74 69 6f 6e k-fn">foo</span>(err:.Allocation
6fd60 45 72 72 6f 72 29 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 Error).FileOpenError.{</span>.<s
6fd80 70 61 6e 20 63 6c 61 73 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
6fda0 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 72 3b 3c 2f 73 70 ="tok-kw">return</span>.err;</sp
6fdc0 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><
6fde0 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
6fe00 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
6fe20 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><samp><span.cl
6fe40 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 65 72 63 ass="line">$.<kbd>zig.test.coerc
6fe60 69 6e 67 5f 73 75 62 73 65 74 5f 74 6f 5f 73 75 70 65 72 73 65 74 2e 7a 69 67 3c 2f 6b 62 64 3e ing_subset_to_superset.zig</kbd>
6fe80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 </span>.<span.class="line">1/1.t
6fea0 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 73 75 62 73 65 74 20 74 6f 20 73 75 70 65 72 est.&quot;coerce.subset.to.super
6fec0 73 65 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 set&quot;....OK</span>.<span.cla
6fee0 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 ss="line">All.1.tests.passed.</s
6ff00 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>.....
6ff20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 75 74 20 79 6f 75 20 63 61 6e 6e 6f 74 20 3c 61 20 68 72 ..<p>.......But.you.cannot.<a.hr
6ff40 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 61 ef="#Type-Coercion">coerce</a>.a
6ff60 6e 20 65 72 72 6f 72 20 66 72 6f 6d 20 61 20 73 75 70 65 72 73 65 74 20 74 6f 20 61 20 73 75 62 n.error.from.a.superset.to.a.sub
6ff80 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 75 72 65 3e 3c 66 set:.......</p>.......<figure><f
6ffa0 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.
6ffc0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 class="file">test.zig</cite></fi
6ffe0 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=
70000 22 6c 69 6e 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
70020 74 3c 2f 73 70 61 6e 3e 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 t</span>.FileOpenError.=.<span.c
70040 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 3c 2f 73 70 lass="tok-kw">error</span>.{</sp
70060 61 6e 3e 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 63 63 65 73 an>.<span.class="line">....Acces
70080 73 44 65 6e 69 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 sDenied,</span>.<span.class="lin
700a0 65 22 3e 20 20 20 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 e">....OutOfMemory,</span>.<span
700c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 2c 3c .class="line">....FileNotFound,<
700e0 2f 73 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
70100 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>.<
70120 73 70 61 6e 20 63 6c 61 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
70140 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 69 6f 6e 45 72 ok-kw">const</span>.AllocationEr
70160 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 65 72 72 6f 72 ror.=.<span.class="tok-kw">error
70180 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
701a0 6e 65 22 3e 20 20 20 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 ne">....OutOfMemory,</span>.<spa
701c0 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
701e0 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=
70200 22 6c 69 6e 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
70220 3c 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
70240 75 6f 74 3b 63 6f 65 72 63 65 20 73 75 70 65 72 73 65 74 20 74 6f 20 73 75 62 73 65 74 26 71 75 uot;coerce.superset.to.subset&qu
70260 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=
70280 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 2e 4f 75 74 "line">....foo(FileOpenError.Out
702a0 4f 66 4d 65 6d 6f 72 79 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 OfMemory).<span.class="tok-kw">c
702c0 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
702e0 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="
70300 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"
70320 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>.
70340 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 <span.class="tok-fn">foo</span>(
70360 65 72 72 3a 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 29 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 err:.FileOpenError).AllocationEr
70380 72 6f 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 69 6e 65 22 3e ror.{</span>.<span.class="line">
703a0 20 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<
703c0 2f 73 70 61 6e 3e 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 /span>.err;</span>.<span.class="
703e0 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
70400 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
70420 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
70440 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
70460 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a >zig.test.test.zig</kbd></span>.
70480 3c 73 70 61 6e 20 63 6c 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="
704a0 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 36 3a 31 t0_1">./docgen_tmp/test.zig:16:1
704c0 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 2:.</span><span.class="t31_1">er
704e0 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 74 30 5f 31 22 3e 65 ror:.</span><span.class="t0_1">e
70500 78 70 65 63 74 65 64 20 74 79 70 65 20 27 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 27 2c 20 xpected.type.'AllocationError',.
70520 66 6f 75 6e 64 20 27 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 found.'FileOpenError'</span></sp
70540 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 an>.<span.class="line">....retur
70560 6e 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 6e 65 22 n.err;</span>.<span.class="line"
70580 3e 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 33 32 5f 31 22 3e >...........<span.class="t32_1">
705a0 5e 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
705c0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 e"><span.class="t0_1">./docgen_t
705e0 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c mp/test.zig:2:5:.</span><span.cl
70600 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 ass="t36_1">note:.</span><span.c
70620 6c 61 73 73 3d 22 74 30 5f 31 22 3e 27 65 72 72 6f 72 2e 41 63 63 65 73 73 44 65 6e 69 65 64 27 lass="t0_1">'error.AccessDenied'
70640 20 6e 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 .not.a.member.of.destination.err
70660 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 20 63 6c 61 73 73 or.set</span></span>.<span.class
70680 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 3e ="line">....AccessDenied,</span>
706a0 0a 3c 73 70 61 6e 20 63 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
706c0 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="t32_1">^</span></span>.<spa
706e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 n.class="line"><span.class="t0_1
70700 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 35 3a 20 3c 2f 73 ">./docgen_tmp/test.zig:4:5:.</s
70720 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f pan><span.class="t36_1">note:.</
70740 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 27 65 72 72 6f 72 2e 46 span><span.class="t0_1">'error.F
70760 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 64 65 73 ileNotFound'.not.a.member.of.des
70780 74 69 6e 61 74 69 6f 6e 20 65 72 72 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e tination.error.set</span></span>
707a0 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 6f 74 46 .<span.class="line">....FileNotF
707c0 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">
707e0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e ....<span.class="t32_1">^</span>
70800 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
70820 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 20 73 68 6f 72 74 63 .....<p>.......There.is.a.shortc
70840 75 74 20 66 6f 72 20 64 65 63 6c 61 72 69 6e 67 20 61 6e 20 65 72 72 6f 72 20 73 65 74 20 77 69 ut.for.declaring.an.error.set.wi
70860 74 68 20 6f 6e 6c 79 20 31 20 76 61 6c 75 65 2c 20 61 6e 64 20 74 68 65 6e 20 67 65 74 74 69 6e th.only.1.value,.and.then.gettin
70880 67 20 74 68 61 74 20 76 61 6c 75 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c g.that.value:.......</p>.......<
708a0 66 69 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
708c0 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 7a 69 67 3c 2f p"><cite.class="file">test.zig</
708e0 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
70900 61 6e 20 63 6c 61 73 73 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
70920 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c -kw">const</span>.err.=.<span.cl
70940 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 69 6c 65 4e 6f ass="tok-kw">error</span>.FileNo
70960 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 69 67 tFound;</span></code></pre></fig
70980 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 ure>.......<p>This.is.equivalent
709a0 20 74 6f 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 .to:</p>.......<figure><figcapti
709c0 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="
709e0 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f file">test.zig</cite></figcaptio
70a00 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">
70a20 3c 73 70 61 6e 20 63 6c 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
70a40 3e 20 65 72 72 20 3d 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 >.err.=.(<span.class="tok-kw">er
70a60 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 7d 29 2e 46 69 6c 65 4e ror</span>.{FileNotFound}).FileN
70a80 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 69 otFound;</span></code></pre></fi
70aa0 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 62 65 63 6f 6d gure>.......<p>.......This.becom
70ac0 65 73 20 75 73 65 66 75 6c 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 61 20 68 72 65 66 3d 22 23 49 es.useful.when.using.<a.href="#I
70ae0 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 20 45 72 72 nferred-Error-Sets">Inferred.Err
70b00 6f 72 20 53 65 74 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 or.Sets</a>........</p>.......<h
70b20 34 20 69 64 3d 22 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 3c 61 20 68 4.id="The-Global-Error-Set"><a.h
70b40 72 65 66 3d 22 23 74 6f 63 2d 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e ref="#toc-The-Global-Error-Set">
70b60 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 The.Global.Error.Set</a>.<a.clas
70b80 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d s="hdr".href="#The-Global-Error-
70ba0 53 65 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 Set">..</a></h4>........<p><code
70bc0 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=
70be0 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 3c 2f 73 70 61 6e "tok-type">anyerror</span></span
70c00 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 65 72 ></code>.refers.to.the.global.er
70c20 72 6f 72 20 73 65 74 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 65 72 72 6f 72 ror.set........This.is.the.error
70c40 20 73 65 74 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 61 6c 6c 20 65 72 72 6f 72 73 20 69 6e .set.that.contains.all.errors.in
70c60 20 74 68 65 20 65 6e 74 69 72 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 75 6e 69 74 2e 0a 20 20 .the.entire.compilation.unit....
70c80 20 20 20 20 49 74 20 69 73 20 61 20 73 75 70 65 72 73 65 74 20 6f 66 20 61 6c 6c 20 6f 74 68 65 ....It.is.a.superset.of.all.othe
70ca0 72 20 65 72 72 6f 72 20 73 65 74 73 20 61 6e 64 20 61 20 73 75 62 73 65 74 20 6f 66 20 6e 6f 6e r.error.sets.and.a.subset.of.non
70cc0 65 20 6f 66 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a e.of.them........</p>.......<p>.
70ce0 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 ......You.can.<a.href="#Type-Coe
70d00 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 61 6e 79 20 65 72 72 6f 72 20 73 65 74 20 rcion">coerce</a>.any.error.set.
70d20 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 6f 6e 65 2c 20 61 6e 64 20 79 6f 75 20 63 61 6e 20 65 to.the.global.one,.and.you.can.e
70d40 78 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 63 61 73 74 20 61 6e 20 65 72 72 6f 72 20 6f 66 xplicitly.......cast.an.error.of
70d60 20 74 68 65 20 67 6c 6f 62 61 6c 20 65 72 72 6f 72 20 73 65 74 20 74 6f 20 61 20 6e 6f 6e 2d 67 .the.global.error.set.to.a.non-g
70d80 6c 6f 62 61 6c 20 6f 6e 65 2e 20 54 68 69 73 20 69 6e 73 65 72 74 73 20 61 20 6c 61 6e 67 75 61 lobal.one..This.inserts.a.langua
70da0 67 65 2d 6c 65 76 65 6c 0a 20 20 20 20 20 20 61 73 73 65 72 74 20 74 6f 20 6d 61 6b 65 20 73 75 ge-level.......assert.to.make.su
70dc0 72 65 20 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 20 69 73 20 69 6e 20 66 61 63 74 20 69 6e re.the.error.value.is.in.fact.in
70de0 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 65 72 72 6f 72 20 73 65 74 2e 0a 20 20 20 20 .the.destination.error.set......
70e00 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 67 6c 6f 62 61 ..</p>.......<p>.......The.globa
70e20 6c 20 65 72 72 6f 72 20 73 65 74 20 73 68 6f 75 6c 64 20 67 65 6e 65 72 61 6c 6c 79 20 62 65 20 l.error.set.should.generally.be.
70e40 61 76 6f 69 64 65 64 20 62 65 63 61 75 73 65 20 69 74 20 70 72 65 76 65 6e 74 73 20 74 68 65 0a avoided.because.it.prevents.the.
70e60 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 72 20 66 72 6f 6d 20 6b 6e 6f 77 69 6e 67 20 77 68 61 74 ......compiler.from.knowing.what
70e80 20 65 72 72 6f 72 73 20 61 72 65 20 70 6f 73 73 69 62 6c 65 20 61 74 20 63 6f 6d 70 69 6c 65 2d .errors.are.possible.at.compile-
70ea0 74 69 6d 65 2e 20 4b 6e 6f 77 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 65 72 72 6f 72 20 73 65 time..Knowing.......the.error.se
70ec0 74 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 69 73 20 62 65 74 74 65 72 20 66 6f 72 20 t.at.compile-time.is.better.for.
70ee0 67 65 6e 65 72 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 generated.documentation.and.....
70f00 20 20 68 65 6c 70 66 75 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 2c 20 73 75 63 68 20 61 ..helpful.error.messages,.such.a
70f20 73 20 66 6f 72 67 65 74 74 69 6e 67 20 61 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 76 61 s.forgetting.a.possible.error.va
70f40 6c 75 65 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 lue.in.a.<a.href="#switch">switc
70f60 68 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a h</a>........</p>...............
70f80 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e ......<h3.id="Error-Union-Type">
70fa0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e <a.href="#toc-Error-Union-Type">
70fc0 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 Error.Union.Type</a>.<a.class="h
70fe0 64 72 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e c2 a7 3c dr".href="#Error-Union-Type">..<
71000 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 20 65 72 72 /a></h3>........<p>.......An.err
71020 6f 72 20 73 65 74 20 74 79 70 65 20 61 6e 64 20 6e 6f 72 6d 61 6c 20 74 79 70 65 20 63 61 6e 20 or.set.type.and.normal.type.can.
71040 62 65 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e be.combined.with.the.<code><span
71060 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 65 3e 0a 20 20 .class="line">!</span></code>...
71080 20 20 20 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 20 74 6f 20 66 6f 72 6d 20 61 6e 20 65 ....binary.operator.to.form.an.e
710a0 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 2e 20 59 6f 75 20 61 72 65 20 6c 69 6b 65 6c 79 20 rror.union.type..You.are.likely.
710c0 74 6f 20 75 73 65 20 61 6e 0a 20 20 20 20 20 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 to.use.an.......error.union.type
710e0 20 6d 6f 72 65 20 6f 66 74 65 6e 20 74 68 61 6e 20 61 6e 20 65 72 72 6f 72 20 73 65 74 20 74 79 .more.often.than.an.error.set.ty
71100 70 65 20 62 79 20 69 74 73 65 6c 66 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c pe.by.itself........</p>.......<
71120 70 3e 0a 20 20 20 20 20 20 48 65 72 65 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 70 p>.......Here.is.a.function.to.p
71140 61 72 73 65 20 61 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 61 20 36 34 2d 62 69 74 20 69 6e 74 65 arse.a.string.into.a.64-bit.inte
71160 67 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 ger:.......</p>.......<figure><f
71180 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.
711a0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 class="file">error_union_parsing
711c0 5f 75 36 34 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 _u64.zig</cite></figcaption><pre
711e0 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.
71200 63 6c 61 73 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.
71220 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
71240 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"
71260 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>
71280 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=
712a0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 78 49 6e 74 20 3d 20 73 "tok-kw">const</span>.maxInt.=.s
712c0 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 td.math.maxInt;</span>.<span.cla
712e0 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
71300 69 6e 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
71320 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
71340 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 61 72 73 65 55 36 an>.<span.class="tok-fn">parseU6
71360 34 3c 2f 73 70 61 6e 3e 28 62 75 66 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 4</span>(buf:.[]<span.class="tok
71380 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
713a0 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 72 61 64 69 78 3a 20 3c 73 70 61 6e ok-type">u8</span>,.radix:.<span
713c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 .class="tok-type">u8</span>).!<s
713e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">u64</span>.
71400 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">....
71420 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>.
71440 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 36 34 3c 2f 73 x:.<span.class="tok-type">u64</s
71460 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">
71480 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
714a0 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">.
714c0 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
714e0 6e 3e 20 28 62 75 66 29 20 7c 63 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 n>.(buf).|c|.{</span>.<span.clas
71500 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
71520 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 69 67 69 74 20 3d 20 63 68 61 72 54 k-kw">const</span>.digit.=.charT
71540 6f 44 69 67 69 74 28 63 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c oDigit(c);</span>.<span.class="l
71560 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">
71580 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c ........<span.class="tok-kw">if<
715a0 2f 73 70 61 6e 3e 20 28 64 69 67 69 74 20 26 67 74 3b 3d 20 72 61 64 69 78 29 20 7b 3c 2f 73 70 /span>.(digit.&gt;=.radix).{</sp
715c0 61 6e 3e 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">.........
715e0 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</
71600 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 span>.<span.class="tok-kw">error
71620 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 43 68 61 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 </span>.InvalidChar;</span>.<spa
71640 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>.
71660 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
71680 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
716a0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2a 3d 20 72 61 64 69 78 3c 2f 73 s="tok-comment">//.x.*=.radix</s
716c0 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">.
716e0 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</
71700 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 span>.(<span.class="tok-builtin"
71720 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 >@mulWithOverflow</span>(<span.c
71740 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 2c 20 78 2c 20 72 lass="tok-type">u64</span>,.x,.r
71760 61 64 69 78 2c 20 26 61 6d 70 3b 78 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c adix,.&amp;x)).{</span>.<span.cl
71780 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
717a0 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.
717c0 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
717e0 66 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 69 6e 65 22 3e flow;</span>.<span.class="line">
71800 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
71820 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">.
71840 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"
71860 3e 2f 2f 20 78 20 2b 3d 20 64 69 67 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >//.x.+=.digit</span></span>.<sp
71880 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
718a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c ass="tok-kw">if</span>.(<span.cl
718c0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c ass="tok-builtin">@addWithOverfl
718e0 6f 77 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 ow</span>(<span.class="tok-type"
71900 3e 75 36 34 3c 2f 73 70 61 6e 3e 2c 20 78 2c 20 64 69 67 69 74 2c 20 26 61 6d 70 3b 78 29 29 20 >u64</span>,.x,.digit,.&amp;x)).
71920 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">....
71940 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 ........<span.class="tok-kw">ret
71960 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">
71980 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 6e 3e 0a 3c 73 error</span>.Overflow;</span>.<s
719a0 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 70 61 6e pan.class="line">........}</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 7d 3c 2f 73 70 61 6e >.<span.class="line">....}</span
719e0 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
71a00 61 6e 20 63 6c 61 73 73 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=
71a20 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 3b 3c 2f 73 70 61 6e 3e "tok-kw">return</span>.x;</span>
71a40 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
71a60 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
71a80 61 73 73 3d 22 6c 69 6e 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">
71aa0 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 fn</span>.<span.class="tok-fn">c
71ac0 68 61 72 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 harToDigit</span>(c:.<span.class
71ae0 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
71b00 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 2f 73 70 61 6e 3e ss="tok-type">u8</span>.{</span>
71b20 0a 3c 73 70 61 6e 20 63 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
71b40 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
71b60 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 63 .class="tok-kw">switch</span>.(c
71b80 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">..
71ba0 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 30 27 3c ......<span.class="tok-str">'0'<
71bc0 2f 73 70 61 6e 3e 20 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 /span>.....<span.class="tok-str"
71be0 3e 27 39 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 63 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 >'9'</span>.=&gt;.c.-.<span.clas
71c00 73 3d 22 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 s="tok-str">'0'</span>,</span>.<
71c20 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.
71c40 63 6c 61 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 class="tok-str">'A'</span>.....<
71c60 73 70 61 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 span.class="tok-str">'Z'</span>.
71c80 3d 26 67 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 =&gt;.c.-.<span.class="tok-str">
71ca0 27 41 27 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 'A'</span>.+.<span.class="tok-nu
71cc0 6d 62 65 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 mber">10</span>,</span>.<span.cl
71ce0 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="
71d00 74 6f 6b 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 tok-str">'a'</span>.....<span.cl
71d20 61 73 73 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 ass="tok-str">'z'</span>.=&gt;.c
71d40 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 61 27 3c 2f 73 70 .-.<span.class="tok-str">'a'</sp
71d60 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 72 22 3e 31 an>.+.<span.class="tok-number">1
71d80 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 3d 22 6c 69 0</span>,</span>.<span.class="li
71da0 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"
71dc0 3e 65 6c 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 >else</span>.=&gt;.maxInt(<span.
71de0 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 2c 3c 2f 73 70 class="tok-type">u8</span>),</sp
71e00 61 6e 3e 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 an>.<span.class="line">....};</s
71e20 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>
71e40 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
71e60 6e 20 63 6c 61 73 73 3d 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-
71e80 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
71ea0 2d 73 74 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 -str">&quot;parse.u64&quot;</spa
71ec0 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">.
71ee0 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
71f00 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b pan>.result.=.<span.class="tok-k
71f20 77 22 3e 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 w">try</span>.parseU64(<span.cla
71f40 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 32 33 34 26 71 75 6f 74 3b 3c 2f 73 ss="tok-str">&quot;1234&quot;</s
71f60 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
71f80 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
71fa0 69 6e 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
71fc0 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 72 65 73 75 y</span>.std.testing.expect(resu
71fe0 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 lt.==.<span.class="tok-number">1
72000 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 61 73 73 3d 234</span>);</span>.<span.class=
72020 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
72040 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="
72060 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
72080 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
720a0 64 3e 7a 69 67 20 74 65 73 74 20 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 d>zig.test.error_union_parsing_u
720c0 36 34 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 64.zig</kbd></span>.<span.class=
720e0 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 61 72 73 65 20 75 36 34 26 "line">1/1.test.&quot;parse.u64&
72100 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;....OK</span>.<span.class="
72120 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e line">All.1.tests.passed.</span>
72140 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
72160 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 65 20 69 >.......Notice.the.return.type.i
72180 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 73 70 61 s.<code><span.class="line">!<spa
721a0 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 3c 2f 73 n.class="tok-type">u64</span></s
721c0 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 74 68 65 pan></code>..This.means.that.the
721e0 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 73 20 61 .function.......either.returns.a
72200 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 20 61 6e n.unsigned.64.bit.integer,.or.an
72220 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 20 73 65 .error..We.left.off.the.error.se
72240 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 6f 64 65 t.......to.the.left.of.the.<code
72260 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 2f 63 6f ><span.class="line">!</span></co
72280 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 72 72 65 de>,.so.the.error.set.is.inferre
722a0 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 57 69 d........</p>.......<p>.......Wi
722c0 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 20 79 6f thin.the.function.definition,.yo
722e0 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 6e 74 73 u.can.see.some.return.statements
72300 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 61 6e 64 .that.return.......an.error,.and
72320 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 6d 65 6e .at.the.bottom.a.return.statemen
72340 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 63 6c 61 t.that.returns.a.<code><span.cla
72360 73 73 3d 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"
72380 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 20 20 20 >u64</span></span></code>.......
723a0 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 65 2d 43 .....Both.types.<a.href="#Type-C
723c0 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 3c 73 70 oercion">coerce</a>.to.<code><sp
723e0 61 6e 20 63 6c 61 73 73 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
72400 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 -type">anyerror</span>!<span.cla
72420 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 6e 3e 3c ss="tok-type">u64</span></span><
72440 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 20 20 20 /code>........</p>.......<p>....
72460 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 74 68 69 ...What.it.looks.like.to.use.thi
72480 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 6e 20 77 s.function.varies.depending.on.w
724a0 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 2e 20 4f hat.you're.......trying.to.do..O
724c0 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 70 3e 0a ne.of.the.following:.......</p>.
724e0 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 6e 74 20 ......<ul>.........<li>You.want.
72500 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 20 69 74 to.provide.a.default.value.if.it
72520 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 20 20 20 .returned.an.error.</li>........
72540 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 74 68 65 .<li>If.it.returned.an.error.the
72560 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 20 65 72 n.you.want.to.return.the.same.er
72580 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 77 20 77 ror.</li>.........<li>You.know.w
725a0 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 6c 20 6e ith.complete.certainty.it.will.n
725c0 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 6f 20 75 ot.return.an.error,.so.want.to.u
725e0 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 3e 0a 20 nconditionally.unwrap.it.</li>..
72600 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 20 64 69 .......<li>You.want.to.take.a.di
72620 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 62 6c 65 fferent.action.for.each.possible
72640 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 20 20 3c .error.</li>.......</ul>.......<
72660 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 61 74 63 h4.id="catch"><a.href="#toc-catc
72680 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 72 65 66 h">catch</a>.<a.class="hdr".href
726a0 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 3c 70 3e ="#catch">..</a></h4>........<p>
726c0 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 75 6c 74 If.you.want.to.provide.a.default
726e0 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 3e 3c 73 .value,.you.can.use.the.<code><s
72700 70 61 6e 20 63 6c 61 73 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
72720 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 3e k-kw">catch</span></span></code>
72740 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 66 69 67 .binary.operator:</p>.......<fig
72760 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">
72780 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 <cite.class="file">test.zig</cit
727a0 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.
727c0 63 6c 61 73 73 3d 22 6c 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
727e0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 20 3d 20 3c 73 70 61 6e 20 ">const</span>.parseU64.=.<span.
72800 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
72820 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 n>(<span.class="tok-str">&quot;e
72840 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 26 71 75 6f 74 3b rror_union_parsing_u64.zig&quot;
72860 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 70 61 6e 20 </span>).parseU64;</span>.<span.
72880 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
728a0 3d 22 6c 69 6e 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<
728c0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 /span>.<span.class="tok-fn">doAT
728e0 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 3d 22 hing</span>(str:.[]<span.class="
72900 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
72920 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>
72940 0a 3c 73 70 61 6e 20 63 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
72960 61 73 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
72980 20 3d 20 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .=.parseU64(str,.<span.class="to
729a0 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-number">10</span>).<span.class
729c0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ="tok-kw">catch</span>.<span.cla
729e0 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 73 70 61 6e ss="tok-number">13</span>;</span
72a00 3e 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
72a20 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">/
72a40 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=
72a60 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
72a80 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 63 6f gure>.......<p>.......In.this.co
72aa0 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 3e 6e 75 6d de,.<code><span.class="line">num
72ac0 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 75 61 6c 20 ber</span></code>.will.be.equal.
72ae0 74 6f 20 74 68 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 70 61 72 73 65 64 20 73 74 72 69 6e to.the.successfully.parsed.strin
72b00 67 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 g,.or...........a.default.value.
72b20 6f 66 20 31 33 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 20 68 61 6e of.13..The.type.of.the.right.han
72b40 64 20 73 69 64 65 20 6f 66 20 74 68 65 20 62 69 6e 61 72 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e d.side.of.the.binary.<code><span
72b60 20 63 6c 61 73 73 3d 22 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
72b80 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 3e 20 6f 70 w">catch</span></span></code>.op
72ba0 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 74 63 68 20 erator.must...............match.
72bc0 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 70 65 2c 20 the.unwrapped.error.union.type,.
72be0 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 61 73 73 3d or.be.of.type.<code><span.class=
72c00 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 6e 6f "line"><span.class="tok-type">no
72c20 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 0a 20 20 20 return</span></span></code>.....
72c40 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 3d 22 74 72 79 ...</p>..............<h4.id="try
72c60 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 61 20 "><a.href="#toc-try">try</a>.<a.
72c80 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 3c 2f class="hdr".href="#try">..</a></
72ca0 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 6e 74 h4>........<p>Let's.say.you.want
72cc0 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 67 6f ed.to.return.the.error.if.you.go
72ce0 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 20 74 t.one,.otherwise.continue.with.t
72d00 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 20 20 he.......function.logic:</p>....
72d20 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
72d40 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 2e 7a g-cap"><cite.class="file">test.z
72d60 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
72d80 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=
72da0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 20 3d "tok-kw">const</span>.parseU64.=
72dc0 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
72de0 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">
72e00 26 71 75 6f 74 3b 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 &quot;error_union_parsing_u64.zi
72e20 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 2f 73 70 61 6e 3e g&quot;</span>).parseU64;</span>
72e40 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
72e60 6e 20 63 6c 61 73 73 3d 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-
72e80 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
72ea0 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e 20 n">doAThing</span>(str:.[]<span.
72ec0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 class="tok-type">u8</span>).!<sp
72ee0 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>.
72f00 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">....
72f20 3c 73 70 61 6e 20 63 6c 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
72f40 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 70 61 6e 20 63 >.number.=.parseU64(str,.<span.c
72f60 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
72f80 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 7c an.class="tok-kw">catch</span>.|
72fa0 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 74 75 72 6e err|.<span.class="tok-kw">return
72fc0 3c 2f 73 70 61 6e 3e 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 </span>.err;</span>.<span.class=
72fe0 22 6c 69 6e 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 "line">...._.=.number;.<span.cla
73000 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 3c 2f ss="tok-comment">//....</span></
73020 73 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
73040 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 70 ></code></pre></figure>.......<p
73060 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 20 73 68 6f 72 74 63 75 74 20 66 6f 72 20 >.......There.is.a.shortcut.for.
73080 74 68 69 73 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e this..The.<code><span.class="lin
730a0 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 72 79 3c 2f 73 70 61 e"><span.class="tok-kw">try</spa
730c0 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:....
730e0 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
73100 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
73120 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e ile">test.zig</cite></figcaption
73140 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"><
73160 73 70 61 6e 20 63 6c 61 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>
73180 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 62 75 69 .parseU64.=.<span.class="tok-bui
731a0 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
731c0 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 70 61 72 ="tok-str">&quot;error_union_par
731e0 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 72 73 65 sing_u64.zig&quot;</span>).parse
73200 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 22 3e 3c U64;</span>.<span.class="line"><
73220 2f 73 70 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.
73240 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
73260 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 73 74 lass="tok-fn">doAThing</span>(st
73280 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 38 3c 2f r:.[]<span.class="tok-type">u8</
732a0 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 span>).!<span.class="tok-type">v
732c0 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=
732e0 22 6c 69 6e 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">
73300 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 const</span>.number.=.<span.clas
73320 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 28 73 s="tok-kw">try</span>.parseU64(s
73340 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c tr,.<span.class="tok-number">10<
73360 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
73380 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="
733a0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e tok-comment">//....</span></span
733c0 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
733e0 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>...
73400 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
73420 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
73440 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 76 61 6c 75 61 74 65 73 20 61 6e 20 65 72 72 6f 72 20 75 6e an></code>.evaluates.an.error.un
73460 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 2e 20 49 66 20 69 74 20 69 73 20 61 6e 20 65 72 72 6f ion.expression..If.it.is.an.erro
73480 72 2c 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 66 72 6f 6d 20 74 68 65 20 63 75 72 r,.it.returns.......from.the.cur
734a0 72 65 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 rent.function.with.the.same.erro
734c0 72 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 72 65 73 r..Otherwise,.the.expression.res
734e0 75 6c 74 73 20 69 6e 0a 20 20 20 20 20 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 76 61 6c 75 ults.in.......the.unwrapped.valu
73500 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 70 3e 0a 20 e........</p>..............<p>..
73520 20 20 20 20 20 20 20 4d 61 79 62 65 20 79 6f 75 20 6b 6e 6f 77 20 77 69 74 68 20 63 6f 6d 70 6c .......Maybe.you.know.with.compl
73540 65 74 65 20 63 65 72 74 61 69 6e 74 79 20 74 68 61 74 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e ete.certainty.that.an.expression
73560 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 .will.never.be.an.error.........
73580 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 69 73 3a 0a 20 .In.this.case.you.can.do.this:..
735a0 20 20 20 20 20 3c 2f 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
735c0 73 3d 22 6c 69 6e 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
735e0 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 70 61 72 73 65 55 36 34 28 3c 73 70 nst</span>.number.=.parseU64(<sp
73600 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 32 33 34 26 71 75 an.class="tok-str">&quot;1234&qu
73620 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 6e 75 6d ot;</span>,.<span.class="tok-num
73640 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ber">10</span>).<span.class="tok
73660 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 73 3d 22 74 -kw">catch</span>.<span.class="t
73680 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 70 61 6e ok-kw">unreachable</span>;</span
736a0 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 65 72 65 20 77 65 ></code>.......<p>.......Here.we
736c0 20 6b 6e 6f 77 20 66 6f 72 20 73 75 72 65 20 74 68 61 74 20 22 31 32 33 34 22 20 77 69 6c 6c 20 .know.for.sure.that."1234".will.
736e0 70 61 72 73 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 20 53 6f 20 77 65 20 70 75 74 20 74 68 parse.successfully..So.we.put.th
73700 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 65 22 e.......<code><span.class="line"
73720 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c ><span.class="tok-kw">unreachabl
73740 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 6c 75 65 20 6f 6e 20 e</span></span></code>.value.on.
73760 74 68 65 20 72 69 67 68 74 20 68 61 6e 64 20 73 69 64 65 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e the.right.hand.side..<code><span
73780 20 63 6c 61 73 73 3d 22 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
737a0 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
737c0 64 65 3e 20 67 65 6e 65 72 61 74 65 73 0a 20 20 20 20 20 20 61 20 70 61 6e 69 63 20 69 6e 20 44 de>.generates.......a.panic.in.D
737e0 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 61 6e 64 20 75 ebug.and.ReleaseSafe.modes.and.u
73800 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 61 73 65 46 61 73 74 ndefined.behavior.in.ReleaseFast
73820 20 6d 6f 64 65 2e 20 53 6f 2c 20 77 68 69 6c 65 20 77 65 27 72 65 20 64 65 62 75 67 67 69 6e 67 .mode..So,.while.we're.debugging
73840 20 74 68 65 0a 20 20 20 20 20 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 69 66 20 74 68 65 72 65 .the.......application,.if.there
73860 20 3c 65 6d 3e 77 61 73 3c 2f 65 6d 3e 20 61 20 73 75 72 70 72 69 73 65 20 65 72 72 6f 72 20 68 .<em>was</em>.a.surprise.error.h
73880 65 72 65 2c 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 77 6f 75 6c 64 20 63 72 61 73 68 ere,.the.application.would.crash
738a0 0a 20 20 20 20 20 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e .......appropriately........</p>
738c0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 69 6e 61 6c 6c 79 2c 20 79 6f 75 20 6d 61 .......<p>.......Finally,.you.ma
738e0 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 74 69 6f y.want.to.take.a.different.actio
73900 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 61 74 2c n.for.every.situation..For.that,
73920 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 3d 22 23 .we.combine.......the.<a.href="#
73940 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 63 68 22 if">if</a>.and.<a.href="#switch"
73960 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 20 3c 2f >switch</a>.expression:.......</
73980 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
739a0 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">
739c0 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 67 3c 2f handle_all_error_scenarios.zig</
739e0 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
73a00 61 6e 20 63 6c 61 73 73 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
73a20 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-
73a40 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e fn">doAThing</span>(str:.[]<span
73a60 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
73a80 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>.
73aa0 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">....
73ac0 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>.(
73ae0 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
73b00 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
73b20 70 61 6e 3e 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">........
73b40 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);</
73b60 73 70 61 6e 3e 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">....}.<
73b80 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>.
73ba0 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 |err|.<span.class="tok-kw">switc
73bc0 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 20 63 6c h</span>.(err).{</span>.<span.cl
73be0 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="
73c00 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 20 3d 26 tok-kw">error</span>.Overflow.=&
73c20 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 3e gt;.{</span>.<span.class="line">
73c40 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 6f 6d ............<span.class="tok-com
73c60 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 73 70 61 ment">//.handle.overflow...</spa
73c80 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">...
73ca0 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
73cc0 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
73ce0 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 64 43 68 nt">//.we.promise.that.InvalidCh
73d00 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 64 65 62 ar.won't.happen.(or.crash.in.deb
73d20 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 70 61 6e ug.mode.if.it.does)</span></span
73d40 3e 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
73d60 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 49 an.class="tok-kw">error</span>.I
73d80 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 22 74 6f nvalidChar.=&gt;.<span.class="to
73da0 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 61 6e 3e k-kw">unreachable</span>,</span>
73dc0 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>
73de0 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
73e00 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 69 64 3d de></pre></figure>.......<h4.id=
73e20 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 65 66 65 "errdefer"><a.href="#toc-errdefe
73e40 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 22 20 68 r">errdefer</a>.<a.class="hdr".h
73e60 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 20 20 20 ref="#errdefer">..</a></h4>.....
73e80 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 65 6e 74 ...<p>.......The.other.component
73ea0 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 74 61 74 .to.error.handling.is.defer.stat
73ec0 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 61 6e 20 ements........In.addition.to.an.
73ee0 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 22 3e 64 unconditional.<a.href="#defer">d
73f00 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 20 63 6c efer</a>,.Zig.has.<code><span.cl
73f20 61 73 73 3d 22 6c 69 6e 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">
73f40 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 2c 0a 20 errdefer</span></span></code>,..
73f60 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 72 72 65 .....which.evaluates.the.deferre
73f80 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 74 68 20 d.expression.on.block.exit.path.
73fa0 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 74 69 6f if.and.only.if.......the.functio
73fc0 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 20 74 68 n.returned.with.an.error.from.th
73fe0 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 0a 20 20 e.block........</p>.......<p>...
74000 20 20 20 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 ....Example:.......</p>.......<f
74020 69 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
74040 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 5f 65 78 "><cite.class="file">errdefer_ex
74060 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 3c 70 72 ample.zig</cite></figcaption><pr
74080 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
740a0 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.
740c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 72 65 61 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e 28 class="tok-fn">createFoo</span>(
740e0 70 61 72 61 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 param:.<span.class="tok-type">i3
74100 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 20 63 6c 2</span>).!Foo.{</span>.<span.cl
74120 61 73 73 3d 22 6c 69 6e 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-
74140 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 63 6c 61 kw">const</span>.foo.=.<span.cla
74160 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 6c 6c 6f ss="tok-kw">try</span>.tryToAllo
74180 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 3d 22 6c cateFoo();</span>.<span.class="l
741a0 69 6e 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
741c0 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 6f 6f 2e t">//.now.we.have.allocated.foo.
741e0 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 6e 63 74 .we.need.to.free.it.if.the.funct
74200 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 6e 20 63 ion.fails.</span></span>.<span.c
74220 6c 61 73 73 3d 22 6c 69 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
74240 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 65 74 75 -comment">//.but.we.want.to.retu
74260 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 73 2e 3c rn.it.if.the.function.succeeds.<
74280 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"
742a0 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 66 >....<span.class="tok-kw">errdef
742c0 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 3c 2f 73 er</span>.deallocateFoo(foo);</s
742e0 70 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>.
74300 3c 73 70 61 6e 20 63 6c 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
74320 73 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 62 75 66 ss="tok-kw">const</span>.tmp_buf
74340 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 63 6c 61 .=.allocateTmpBuffer().<span.cla
74360 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ss="tok-kw">orelse</span>.<span.
74380 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
743a0 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 4f an.class="tok-kw">error</span>.O
743c0 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 73 3d 22 utOfMemory;</span>.<span.class="
743e0 6c 69 6e 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
74400 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 70 6f 72 nt">//.tmp_buf.is.truly.a.tempor
74420 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 20 77 61 ary.resource,.and.we.for.sure.wa
74440 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 6e 3e 0a nt.to.clean.it.up</span></span>.
74460 3c 73 70 61 6e 20 63 6c 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
74480 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 69 73 20 ss="tok-comment">//.before.this.
744a0 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 61 6e 3e block.leaves.scope</span></span>
744c0 0a 3c 73 70 61 6e 20 63 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
744e0 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 6c 6c 6f ass="tok-kw">defer</span>.deallo
74500 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 3e 0a 3c cateTmpBuffer(tmp_buf);</span>.<
74520 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.
74540 63 6c 61 73 73 3d 22 6c 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
74560 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 70 61 72 61 6d 20 26 67 74 3b 20 3c 73 70 61 k-kw">if</span>.(param.&gt;.<spa
74580 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 33 37 3c 2f 73 70 61 6e 3e n.class="tok-number">1337</span>
745a0 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 ).<span.class="tok-kw">return</s
745c0 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<
745e0 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 73 70 61 /span>.InvalidParam;</span>.<spa
74600 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
74620 73 73 3d 22 6c 69 6e 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
74640 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 77 69 6c omment">//.here.the.errdefer.wil
74660 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 6e 67 20 l.not.run.since.we're.returning.
74680 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 70 61 6e success.from.the.function.</span
746a0 3e 3c 2f 73 70 61 6e 3e 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">....
746c0 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 75 74 <span.class="tok-comment">//.but
746e0 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 73 70 61 .the.defer.will.run!</span></spa
74700 6e 3e 0a 3c 73 70 61 6e 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.
74720 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 6f class="tok-kw">return</span>.foo
74740 3b 3c 2f 73 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
74760 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>......
74780 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 75 74 20 .<p>.......The.neat.thing.about.
747a0 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 72 72 6f this.is.that.you.get.robust.erro
747c0 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 76 65 72 r.handling.without.......the.ver
747e0 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 20 6f 66 bosity.and.cognitive.overhead.of
74800 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 69 74 20 .trying.to.make.sure.every.exit.
74820 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 61 6c 6c path.......is.covered..The.deall
74840 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 6c 79 20 ocation.code.is.always.directly.
74860 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 2e 0a 20 following.the.allocation.code...
74880 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 3e 0a 20 20 20 20 20 .....</p>..............<p>......
748a0 20 41 20 63 6f 75 70 6c 65 20 6f 66 20 6f 74 68 65 72 20 74 69 64 62 69 74 73 20 61 62 6f 75 74 .A.couple.of.other.tidbits.about
748c0 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .error.handling:.......</p>.....
748e0 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 73 65 20 70 72 69 6d 69 74 69 ..<ul>.........<li>These.primiti
74900 76 65 73 20 67 69 76 65 20 65 6e 6f 75 67 68 20 65 78 70 72 65 73 73 69 76 65 6e 65 73 73 20 74 ves.give.enough.expressiveness.t
74920 68 61 74 20 69 74 27 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 70 72 61 63 74 69 63 61 6c 0a 20 20 hat.it's.completely.practical...
74940 20 20 20 20 20 20 20 20 20 20 74 6f 20 68 61 76 65 20 66 61 69 6c 69 6e 67 20 74 6f 20 63 68 65 ..........to.have.failing.to.che
74960 63 6b 20 66 6f 72 20 61 6e 20 65 72 72 6f 72 20 62 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 ck.for.an.error.be.a.compile.err
74980 6f 72 2e 20 49 66 20 79 6f 75 20 72 65 61 6c 6c 79 20 77 61 6e 74 0a 20 20 20 20 20 20 20 20 20 or..If.you.really.want..........
749a0 20 20 20 74 6f 20 69 67 6e 6f 72 65 20 74 68 65 20 65 72 72 6f 72 2c 20 79 6f 75 20 63 61 6e 20 ...to.ignore.the.error,.you.can.
749c0 61 64 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 73 70 add.<code><span.class="line"><sp
749e0 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>.<
74a00 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<
74a20 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 20 20 /span></span></code>.and........
74a40 20 20 20 20 20 67 65 74 20 74 68 65 20 61 64 64 65 64 20 62 65 6e 65 66 69 74 20 6f 66 20 63 72 .....get.the.added.benefit.of.cr
74a60 61 73 68 69 6e 67 20 69 6e 20 44 65 62 75 67 20 61 6e 64 20 52 65 6c 65 61 73 65 53 61 66 65 20 ashing.in.Debug.and.ReleaseSafe.
74a80 6d 6f 64 65 73 20 69 66 20 79 6f 75 72 20 61 73 73 75 6d 70 74 69 6f 6e 20 77 61 73 20 77 72 6f modes.if.your.assumption.was.wro
74aa0 6e 67 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 ng..........</li>.........<li>..
74ac0 20 20 20 20 20 20 20 20 20 53 69 6e 63 65 20 5a 69 67 20 75 6e 64 65 72 73 74 61 6e 64 73 20 65 .........Since.Zig.understands.e
74ae0 72 72 6f 72 20 74 79 70 65 73 2c 20 69 74 20 63 61 6e 20 70 72 65 2d 77 65 69 67 68 74 20 62 72 rror.types,.it.can.pre-weight.br
74b00 61 6e 63 68 65 73 20 69 6e 20 66 61 76 6f 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 65 72 72 anches.in.favor.of...........err
74b20 6f 72 73 20 6e 6f 74 20 6f 63 63 75 72 72 69 6e 67 2e 20 4a 75 73 74 20 61 20 73 6d 61 6c 6c 20 ors.not.occurring..Just.a.small.
74b40 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 62 65 6e 65 66 69 74 20 74 68 61 74 20 69 73 20 6e 6f 74 optimization.benefit.that.is.not
74b60 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 6f 74 68 65 72 20 6c 61 .available...........in.other.la
74b80 6e 67 75 61 67 65 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 75 nguages..........</li>.......</u
74ba0 6c 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 l>.......<p>See.also:</p><ul>.<l
74bc0 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 i><a.href="#defer">defer</a></li
74be0 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 3e 3c 2f 6c 69 3e 0a >.<li><a.href="#if">if</a></li>.
74c00 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e <li><a.href="#switch">switch</a>
74c20 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 65 72 72 6f 72 20 </li>.</ul>.........<p>An.error.
74c40 75 6e 69 6f 6e 20 69 73 20 63 72 65 61 74 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e union.is.created.with.the.<code>
74c60 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
74c80 65 3e 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 2e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 e>.binary.operator........You.ca
74ca0 6e 20 75 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f n.use.compile-time.reflection.to
74cc0 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 61 6e 20 65 72 72 .access.the.child.type.of.an.err
74ce0 6f 72 20 75 6e 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 or.union:</p>.......<figure><fig
74d00 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
74d20 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c ass="file">test_error_union.zig<
74d40 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
74d60 70 61 6e 20 63 6c 61 73 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
74d80 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 k-kw">const</span>.expect.=.<spa
74da0 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
74dc0 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
74de0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 ;std&quot;</span>).testing.expec
74e00 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
74e20 70 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
74e40 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
74e60 6c 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 20 75 6e 69 6f 6e lass="tok-str">&quot;error.union
74e80 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
74ea0 73 73 3d 22 6c 69 6e 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
74ec0 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 61 73 73 3d 22 w">var</span>.foo:.<span.class="
74ee0 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.
74f00 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
74f20 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 2f pan.class="tok-null">undefined</
74f40 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"
74f60 3e 3c 2f 73 70 61 6e 3e 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">....
74f80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 65 <span.class="tok-comment">//.Coe
74fa0 72 63 65 20 66 72 6f 6d 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 rce.from.child.type.of.an.error.
74fc0 75 6e 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 61 73 73 union:</span></span>.<span.class
74fe0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ="line">....foo.=.<span.class="t
75000 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>.<
75020 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.
75040 63 6c 61 73 73 3d 22 6c 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
75060 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 61 6e 20 65 72 72 k-comment">//.Coerce.from.an.err
75080 6f 72 20 73 65 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 or.set:</span></span>.<span.clas
750a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 s="line">....foo.=.<span.class="
750c0 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6f 6d 65 45 72 72 6f 72 3b 3c tok-kw">error</span>.SomeError;<
750e0 2f 73 70 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
75100 3e 0a 3c 73 70 61 6e 20 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
75120 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 65 20 63 6f 6d 70 69 6c lass="tok-comment">//.Use.compil
75140 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 68 65 20 e-time.reflection.to.access.the.
75160 70 61 79 6c 6f 61 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 payload.type.of.an.error.union:<
75180 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"
751a0 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 74 69 >....<span.class="tok-kw">compti
751c0 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 74 me</span>.<span.class="tok-kw">t
751e0 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
75200 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
75220 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
75240 70 61 6e 3e 28 66 6f 6f 29 29 2e 45 72 72 6f 72 55 6e 69 6f 6e 2e 70 61 79 6c 6f 61 64 20 3d 3d pan>(foo)).ErrorUnion.payload.==
75260 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
75280 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"><
752a0 2f 73 70 61 6e 3e 0a 3c 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
752c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 65 20 63 pan.class="tok-comment">//.Use.c
752e0 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 ompile-time.reflection.to.access
75300 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 .the.error.set.type.of.an.error.
75320 75 6e 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 61 73 73 union:</span></span>.<span.class
75340 3d 22 6c 69 6e 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"
75360 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
75380 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
753a0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 ass="tok-builtin">@typeInfo</spa
753c0 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 n>(<span.class="tok-builtin">@Ty
753e0 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 29 2e 45 72 72 6f 72 55 6e 69 6f 6e 2e 65 72 72 peOf</span>(foo)).ErrorUnion.err
75400 6f 72 5f 73 65 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 or_set.==.<span.class="tok-type"
75420 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >anyerror</span>);</span>.<span.
75440 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
75460 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
75480 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
754a0 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
754c0 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 75 6e 69 6f >$.<kbd>zig.test.test_error_unio
754e0 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.zig</kbd></span>.<span.class="
75500 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 65 72 72 6f 72 20 75 6e 69 6f 6e line">1/1.test.&quot;error.union
75520 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
75540 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e "line">All.1.tests.passed.</span
75560 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>.......<
75580 68 34 20 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 h4.id="Merging-Error-Sets"><a.hr
755a0 65 66 3d 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 ef="#toc-Merging-Error-Sets">Mer
755c0 67 69 6e 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 ging.Error.Sets</a>.<a.class="hd
755e0 72 22 20 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 r".href="#Merging-Error-Sets">..
75600 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 55 73 65 20 74 </a></h4>........<p>.......Use.t
75620 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 7c 7c 3c 2f he.<code><span.class="line">||</
75640 73 70 61 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 span></code>.operator.to.merge.t
75660 77 6f 20 65 72 72 6f 72 20 73 65 74 73 20 74 6f 67 65 74 68 65 72 2e 20 54 68 65 20 72 65 73 75 wo.error.sets.together..The.resu
75680 6c 74 69 6e 67 0a 20 20 20 20 20 20 65 72 72 6f 72 20 73 65 74 20 63 6f 6e 74 61 69 6e 73 20 74 lting.......error.set.contains.t
756a0 68 65 20 65 72 72 6f 72 73 20 6f 66 20 62 6f 74 68 20 65 72 72 6f 72 20 73 65 74 73 2e 20 44 6f he.errors.of.both.error.sets..Do
756c0 63 20 63 6f 6d 6d 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 6c 65 66 74 2d 68 61 6e 64 0a 20 20 c.comments.from.the.left-hand...
756e0 20 20 20 20 73 69 64 65 20 6f 76 65 72 72 69 64 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 66 ....side.override.doc.comments.f
75700 72 6f 6d 20 74 68 65 20 72 69 67 68 74 2d 68 61 6e 64 20 73 69 64 65 2e 20 49 6e 20 74 68 69 73 rom.the.right-hand.side..In.this
75720 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 64 6f 63 0a 20 20 20 20 20 20 63 6f 6d 6d 65 6e 74 73 .example,.the.doc.......comments
75740 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 3e 43 2e .for.<code><span.class="line">C.
75760 50 61 74 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 PathNotFound</span></code>.is.<c
75780 6f 64 65 3e 41 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 ode>A.doc.comment</code>........
757a0 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 69 73 20 65 73 70 </p>.......<p>.......This.is.esp
757c0 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 ecially.useful.for.functions.whi
757e0 63 68 20 72 65 74 75 72 6e 20 64 69 66 66 65 72 65 6e 74 20 65 72 72 6f 72 20 73 65 74 73 20 64 ch.return.different.error.sets.d
75800 65 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 6f 6e 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 epending.......on.<a.href="#comp
75820 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 72 61 6e 63 68 65 73 2e 20 46 6f 72 time">comptime</a>.branches..For
75840 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 5a 69 67 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 .example,.the.Zig.standard.libra
75860 72 79 20 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 ry.uses.......<code><span.class=
75880 22 6c 69 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 "line">LinuxFileOpenError.||.Win
758a0 64 6f 77 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 dowsFileOpenError</span></code>.
758c0 66 6f 72 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 for.the.error.set.of.opening....
758e0 20 20 20 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 ...files........</p>.......<figu
75900 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"><
75920 63 69 74 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 cite.class="file">test_merging_e
75940 72 72 6f 72 5f 73 65 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e rror_sets.zig</cite></figcaption
75960 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"><
75980 73 70 61 6e 20 63 6c 61 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>
759a0 20 41 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c .A.=.<span.class="tok-kw">error<
759c0 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 65 /span>{</span>.<span.class="line
759e0 22 3e 20 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 ">....NotDir,</span>.<span.class
75a00 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
75a20 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"
75a40 3e 2f 2f 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 >///.A.doc.comment</span></span>
75a60 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
75a80 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">
75aa0 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
75ac0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 an.class="tok-kw">const</span>.B
75ae0 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
75b00 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 65 22 3e pan>{</span>.<span.class="line">
75b20 20 20 20 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 ....OutOfMemory,</span>.<span.cl
75b40 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="
75b60 6c 69 6e 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
75b80 6e 74 22 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 nt">///.B.doc.comment</span></sp
75ba0 61 6e 3e 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 an>.<span.class="line">....PathN
75bc0 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
75be0 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">
75c00 3c 2f 73 70 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
75c20 20 63 6c 61 73 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 .class="tok-kw">const</span>.C.=
75c40 20 41 20 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 .A.||.B;</span>.<span.class="lin
75c60 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
75c80 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
75ca0 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 43 an.class="tok-fn">foo</span>().C
75cc0 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
75ce0 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">
75d00 20 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<
75d20 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f /span>.<span.class="tok-kw">erro
75d40 72 3c 2f 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 r</span>.NotDir;</span>.<span.cl
75d60 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=
75d80 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
75da0 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
75dc0 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 6d n>.<span.class="tok-str">&quot;m
75de0 65 72 67 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 erge.error.sets&quot;</span>.{</
75e00 73 70 61 6e 3e 0a 3c 73 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
75e20 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 66 6f 6f an.class="tok-kw">if</span>.(foo
75e40 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 6e 65 22 3e ()).{</span>.<span.class="line">
75e60 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
75e80 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
75ea0 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 2f 73 70 -str">&quot;unexpected&quot;</sp
75ec0 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">
75ee0 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c ....}.<span.class="tok-kw">else<
75f00 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
75f20 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>.<
75f40 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.
75f60 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 75 74 4f class="tok-kw">error</span>.OutO
75f80 66 4d 65 6d 6f 72 79 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 fMemory.=&gt;.<span.class="tok-b
75fa0 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 uiltin">@panic</span>(<span.clas
75fc0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 6e 65 78 70 65 63 74 65 64 26 71 75 6f s="tok-str">&quot;unexpected&quo
75fe0 74 3b 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 t;</span>),</span>.<span.class="
76000 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
76020 77 22 3e 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 w">error</span>.PathNotFound.=&g
76040 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 70 61 t;.<span.class="tok-builtin">@pa
76060 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 72 22 nic</span>(<span.class="tok-str"
76080 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 29 2c >&quot;unexpected&quot;</span>),
760a0 3c 2f 73 70 61 6e 3e 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">.....
760c0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 ...<span.class="tok-kw">error</s
760e0 70 61 6e 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 pan>.NotDir.=&gt;.{},</span>.<sp
76100 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
76120 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><
76140 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
76160 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
76180 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><samp><span.class="li
761a0 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6d 65 72 67 69 6e 67 ne">$.<kbd>zig.test.test_merging
761c0 5f 65 72 72 6f 72 5f 73 65 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 _error_sets.zig</kbd></span>.<sp
761e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6d an.class="line">1/1.test.&quot;m
76200 65 72 67 65 20 65 72 72 6f 72 20 73 65 74 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 erge.error.sets&quot;....OK</spa
76220 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 n>.<span.class="line">All.1.test
76240 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f s.passed.</span>.</samp></pre></
76260 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 49 6e 66 figure>..............<h4.id="Inf
76280 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 6f 63 2d erred-Error-Sets"><a.href="#toc-
762a0 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 20 45 72 Inferred-Error-Sets">Inferred.Er
762c0 72 6f 72 20 53 65 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 ror.Sets</a>.<a.class="hdr".href
762e0 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 3e 3c 2f ="#Inferred-Error-Sets">..</a></
76300 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 6d 61 6e h4>........<p>.......Because.man
76320 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 6f 73 73 y.functions.in.Zig.return.a.poss
76340 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 72 72 69 ible.error,.Zig.supports.inferri
76360 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 66 65 72 ng.the.error.set........To.infer
76380 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 2c 20 70 .the.error.set.for.a.function,.p
763a0 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 22 6c 69 repend.the.<code><span.class="li
763c0 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 74 6f 20 ne">!</span></code>.operator.to.
763e0 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 20 6c 69 the.function...s.return.type,.li
76400 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 54 3c 2f ke.<code><span.class="line">!T</
76420 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 3c 66 69 67 75 72 65 span></code>:.......</p>.<figure
76440 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
76460 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 66 65 72 72 65 64 5f 65 72 72 6f 72 5f 73 te.class="file">inferred_error_s
76480 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 72 65 3e ets.zig</cite></figcaption><pre>
764a0 3c 63 6f 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
764c0 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 61 6e 20 69 6e lass="tok-comment">//.With.an.in
764e0 66 65 72 72 65 64 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 ferred.error.set</span></span>.<
76500 73 70 61 6e 20 63 6c 61 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
76520 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
76540 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
76560 6b 2d 66 6e 22 3e 61 64 64 5f 69 6e 66 65 72 72 65 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-fn">add_inferred</span>(<span.
76580 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 class="tok-kw">comptime</span>.T
765a0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 :.<span.class="tok-type">type</s
765c0 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 21 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 pan>,.a:.T,.b:.T).!T.{</span>.<s
765e0 70 61 6e 20 63 6c 61 73 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
76600 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 6e 73 77 65 72 3a 20 54 20 3d ="tok-kw">var</span>.answer:.T.=
76620 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 .<span.class="tok-null">undefine
76640 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 73 3d 22 6c 69 d</span>;</span>.<span.class="li
76660 6e 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
76680 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">
766a0 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c if</span>.(<span.class="tok-buil
766c0 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 54 2c 20 tin">@addWithOverflow</span>(T,.
766e0 61 2c 20 62 2c 20 26 61 6d 70 3b 61 6e 73 77 65 72 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d a,.b,.&amp;answer)).<span.class=
76700 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 20 3c "tok-kw">error</span>.Overflow.<
76720 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>.
76740 61 6e 73 77 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 answer;</span>.<span.class="line
76760 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"></
76780 73 70 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
767a0 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 61 6e 20 65 78 lass="tok-comment">//.With.an.ex
767c0 70 6c 69 63 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 plicit.error.set</span></span>.<
767e0 73 70 61 6e 20 63 6c 61 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
76800 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
76820 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
76840 6b 2d 66 6e 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 k-fn">add_explicit</span>(<span.
76860 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 class="tok-kw">comptime</span>.T
76880 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 :.<span.class="tok-type">type</s
768a0 70 61 6e 3e 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 pan>,.a:.T,.b:.T).Error!T.{</spa
768c0 6e 3e 0a 3c 73 70 61 6e 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.
768e0 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 6e 73 77 65 72 class="tok-kw">var</span>.answer
76900 3a 20 54 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 :.T.=.<span.class="tok-null">und
76920 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
76940 73 3d 22 6c 69 6e 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
76960 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
76980 2d 6b 77 22 3e 69 66 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 -kw">if</span>.(<span.class="tok
769a0 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e -builtin">@addWithOverflow</span
769c0 3e 28 54 2c 20 61 2c 20 62 2c 20 26 61 6d 70 3b 61 6e 73 77 65 72 29 29 20 3c 73 70 61 6e 20 63 >(T,.a,.b,.&amp;answer)).<span.c
769e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 lass="tok-kw">error</span>.Overf
76a00 6c 6f 77 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 low.<span.class="tok-kw">else</s
76a20 70 61 6e 3e 20 61 6e 73 77 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.answer;</span>.<span.class=
76a40 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
76a60 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
76a80 70 61 6e 20 63 6c 61 73 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>.
76aa0 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 65 72 72 Error.=.<span.class="tok-kw">err
76ac0 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 73 3d 22 or</span>.{</span>.<span.class="
76ae0 6c 69 6e 65 22 3e 20 20 20 20 4f 76 65 72 66 6c 6f 77 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e line">....Overflow,</span>.<span
76b00 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
76b20 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="
76b40 6c 69 6e 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
76b60 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
76b80 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
76ba0 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
76bc0 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">
76be0 3c 2f 73 70 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
76c00 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
76c20 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 66 65 72 72 65 64 n.class="tok-str">&quot;inferred
76c40 20 65 72 72 6f 72 20 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 .error.set&quot;</span>.{</span>
76c60 0a 3c 73 70 61 6e 20 63 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
76c80 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 64 64 5f 69 6e 66 65 ass="tok-kw">if</span>.(add_infe
76ca0 72 72 65 64 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 rred(<span.class="tok-type">u8</
76cc0 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">
76ce0 32 35 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 255</span>,.<span.class="tok-num
76d00 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 20 7c 5f 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ber">1</span>)).|_|.<span.class=
76d20 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 20 3c 73 70 61 "tok-kw">unreachable</span>.<spa
76d40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 n.class="tok-kw">else</span>.|er
76d60 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f r|.<span.class="tok-kw">switch</
76d80 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 20 63 6c 61 73 73 span>.(err).{</span>.<span.class
76da0 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
76dc0 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 20 3d 26 67 74 3b -kw">error</span>.Overflow.=&gt;
76de0 20 7b 7d 2c 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">/
76e00 2f 20 6f 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 /.ok</span></span>.<span.class="
76e20 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="
76e40 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
76e60 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
76e80 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
76ea0 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
76ec0 3e 7a 69 67 20 74 65 73 74 20 69 6e 66 65 72 72 65 64 5f 65 72 72 6f 72 5f 73 65 74 73 2e 7a 69 >zig.test.inferred_error_sets.zi
76ee0 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
76f00 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 ">1/1.test.&quot;inferred.error.
76f20 73 65 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 set&quot;....OK</span>.<span.cla
76f40 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 ss="line">All.1.tests.passed.</s
76f60 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>.....
76f80 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 ..<p>.......When.a.function.has.
76fa0 61 6e 20 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 2c 20 74 68 61 74 20 66 75 6e 63 an.inferred.error.set,.that.func
76fc0 74 69 6f 6e 20 62 65 63 6f 6d 65 73 20 67 65 6e 65 72 69 63 20 61 6e 64 20 74 68 75 73 20 69 74 tion.becomes.generic.and.thus.it
76fe0 20 62 65 63 6f 6d 65 73 0a 20 20 20 20 20 20 74 72 69 63 6b 69 65 72 20 74 6f 20 64 6f 20 63 65 .becomes.......trickier.to.do.ce
77000 72 74 61 69 6e 20 74 68 69 6e 67 73 20 77 69 74 68 20 69 74 2c 20 73 75 63 68 20 61 73 20 6f 62 rtain.things.with.it,.such.as.ob
77020 74 61 69 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 65 72 2c 20 6f 72 20 68 61 76 65 tain.a.function.pointer,.or.have
77040 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 73 65 74 20 74 68 61 74 20 69 73 20 63 6f 6e 73 .an.error.......set.that.is.cons
77060 69 73 74 65 6e 74 20 61 63 72 6f 73 73 20 64 69 66 66 65 72 65 6e 74 20 62 75 69 6c 64 20 74 61 istent.across.different.build.ta
77080 72 67 65 74 73 2e 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 69 6e 66 65 72 72 65 64 20 65 72 rgets..Additionally,.inferred.er
770a0 72 6f 72 20 73 65 74 73 0a 20 20 20 20 20 20 61 72 65 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 ror.sets.......are.incompatible.
770c0 77 69 74 68 20 72 65 63 75 72 73 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 with.recursion........</p>......
770e0 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 73 65 20 73 69 74 75 61 74 69 6f 6e 73 2c 20 .<p>.......In.these.situations,.
77100 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 61 6e 20 65 78 70 6c it.is.recommended.to.use.an.expl
77120 69 63 69 74 20 65 72 72 6f 72 20 73 65 74 2e 20 59 6f 75 20 63 61 6e 20 67 65 6e 65 72 61 6c 6c icit.error.set..You.can.generall
77140 79 20 73 74 61 72 74 0a 20 20 20 20 20 20 77 69 74 68 20 61 6e 20 65 6d 70 74 79 20 65 72 72 6f y.start.......with.an.empty.erro
77160 72 20 73 65 74 20 61 6e 64 20 6c 65 74 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 20 67 75 69 r.set.and.let.compile.errors.gui
77180 64 65 20 79 6f 75 20 74 6f 77 61 72 64 20 63 6f 6d 70 6c 65 74 69 6e 67 20 74 68 65 20 73 65 74 de.you.toward.completing.the.set
771a0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 ........</p>.......<p>.......The
771c0 73 65 20 6c 69 6d 69 74 61 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 6f 76 65 72 63 6f 6d 65 20 69 se.limitations.may.be.overcome.i
771e0 6e 20 61 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 n.a.future.version.of.Zig.......
77200 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
77220 3d 22 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 ="Error-Return-Traces"><a.href="
77240 23 74 6f 63 2d 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 45 72 72 6f 72 20 #toc-Error-Return-Traces">Error.
77260 52 65 74 75 72 6e 20 54 72 61 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 Return.Traces</a>.<a.class="hdr"
77280 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e c2 a7 3c .href="#Error-Return-Traces">..<
772a0 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 72 72 6f 72 20 /a></h3>........<p>.......Error.
772c0 52 65 74 75 72 6e 20 54 72 61 63 65 73 20 73 68 6f 77 20 61 6c 6c 20 74 68 65 20 70 6f 69 6e 74 Return.Traces.show.all.the.point
772e0 73 20 69 6e 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 61 6e 20 65 72 72 6f 72 20 77 61 73 20 s.in.the.code.that.an.error.was.
77300 72 65 74 75 72 6e 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e returned.to.the.calling.function
77320 2e 20 54 68 69 73 20 6d 61 6b 65 73 20 69 74 20 70 72 61 63 74 69 63 61 6c 20 74 6f 20 75 73 65 ..This.makes.it.practical.to.use
77340 20 3c 61 20 68 72 65 66 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 20 65 76 65 72 79 77 68 65 .<a.href="#try">try</a>.everywhe
77360 72 65 20 61 6e 64 20 74 68 65 6e 20 73 74 69 6c 6c 20 62 65 20 61 62 6c 65 20 74 6f 20 6b 6e 6f re.and.then.still.be.able.to.kno
77380 77 20 77 68 61 74 20 68 61 70 70 65 6e 65 64 20 69 66 20 61 6e 20 65 72 72 6f 72 20 65 6e 64 73 w.what.happened.if.an.error.ends
773a0 20 75 70 20 62 75 62 62 6c 69 6e 67 20 61 6c 6c 20 74 68 65 20 77 61 79 20 6f 75 74 20 6f 66 20 .up.bubbling.all.the.way.out.of.
773c0 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 your.application........</p>....
773e0 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
77400 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 2e 7a g-cap"><cite.class="file">test.z
77420 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
77440 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=
77460 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=
77480 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="
774a0 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 6c 61 tok-fn">main</span>().!<span.cla
774c0 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
774e0 6e 3e 0a 3c 73 70 61 6e 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.
77500 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 66 6f 6f 28 3c 73 class="tok-kw">try</span>.foo(<s
77520 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e pan.class="tok-number">12</span>
77540 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">}</
77560 73 70 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>
77580 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=
775a0 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="
775c0 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 6c 61 73 tok-fn">foo</span>(x:.<span.clas
775e0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 s="tok-type">i32</span>).!<span.
77600 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>.{</
77620 73 70 61 6e 3e 0a 3c 73 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
77640 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 78 20 26 an.class="tok-kw">if</span>.(x.&
77660 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 3e 35 3c gt;=.<span.class="tok-number">5<
77680 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
776a0 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"
776c0 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 61 6e 20 >try</span>.bar();</span>.<span.
776e0 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 22 class="line">....}.<span.class="
77700 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 70 tok-kw">else</span>.{</span>.<sp
77720 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
77740 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 28 29 3b ass="tok-kw">try</span>.bang2();
77760 3c 2f 73 70 61 6e 3e 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">....}
77780 3c 2f 73 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
777a0 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>.<
777c0 73 70 61 6e 20 63 6c 61 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
777e0 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
77800 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 73 73 3d k-fn">bar</span>().!<span.class=
77820 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>.
77840 3c 73 70 61 6e 20 63 6c 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
77860 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 20 7b 3c ss="tok-kw">if</span>.(baz()).{<
77880 2f 73 70 61 6e 3e 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">......
778a0 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
778c0 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 22 6c 69 >.quux();</span>.<span.class="li
778e0 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
77900 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 22 74 6f lse</span>.|err|.<span.class="to
77920 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 73 70 61 k-kw">switch</span>.(err).{</spa
77940 6e 3e 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
77960 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>.
77980 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 73 3d 22 FileNotFound.=&gt;.<span.class="
779a0 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 73 70 61 tok-kw">try</span>.hello(),</spa
779c0 6e 3e 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
779e0 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 3d pan.class="tok-kw">else</span>.=
77a00 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 74 72 79 3c 2f 73 &gt;.<span.class="tok-kw">try</s
77a20 70 61 6e 3e 20 61 6e 6f 74 68 65 72 28 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pan>.another(),</span>.<span.cla
77a40 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
77a60 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="
77a80 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"
77aa0 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>.
77ac0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 7a 3c 2f 73 70 61 6e 3e 28 <span.class="tok-fn">baz</span>(
77ae0 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</
77b00 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
77b20 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</
77b40 73 70 61 6e 3e 20 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 span>.bang1();</span>.<span.clas
77b60 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
77b80 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">
77ba0 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>.<
77bc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 71 75 75 78 3c 2f 73 70 61 6e 3e 28 span.class="tok-fn">quux</span>(
77be0 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</
77c00 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
77c20 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</
77c40 73 70 61 6e 3e 20 62 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 span>.bang2();</span>.<span.clas
77c60 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
77c80 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">
77ca0 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>.<
77cc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 68 65 6c 6c 6f 3c 2f 73 70 61 6e 3e span.class="tok-fn">hello</span>
77ce0 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<
77d00 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
77d20 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<
77d40 2f 73 70 61 6e 3e 20 62 61 6e 67 32 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 /span>.bang2();</span>.<span.cla
77d60 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="
77d80 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"
77da0 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>.
77dc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6e 6f 74 68 65 72 3c 2f 73 70 <span.class="tok-fn">another</sp
77de0 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f an>().!<span.class="tok-type">vo
77e00 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="
77e20 6c 69 6e 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
77e40 72 79 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 31 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ry</span>.bang1();</span>.<span.
77e60 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
77e80 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
77ea0 6e 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
77ec0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 6e 67 31 3c 2f 73 n>.<span.class="tok-fn">bang1</s
77ee0 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 3e 76 pan>().!<span.class="tok-type">v
77f00 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=
77f20 22 6c 69 6e 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">
77f40 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
77f60 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 73 w">error</span>.FileNotFound;</s
77f80 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>
77fa0 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
77fc0 6e 20 63 6c 61 73 73 3d 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-
77fe0 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
78000 6e 22 3e 62 61 6e 67 32 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n">bang2</span>().!<span.class="
78020 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>.<
78040 73 70 61 6e 20 63 6c 61 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
78060 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
78080 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 50 65 72 6d 69 lass="tok-kw">error</span>.Permi
780a0 73 73 69 6f 6e 44 65 6e 69 65 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ssionDenied;</span>.<span.class=
780c0 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
780e0 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="
78100 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
78120 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
78140 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f d>zig.build-exe.test.zig</kbd></
78160 73 70 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>
78180 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 .<span.class="line">$.<kbd>./tes
781a0 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 t</kbd></span>.<span.class="line
781c0 22 3e 65 72 72 6f 72 3a 20 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3c 2f 73 70 61 6e 3e ">error:.PermissionDenied</span>
781e0 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=
78200 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e "t1_0">/home/andy/tmp/zig/docgen
78220 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 39 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e _tmp/test.zig:39:5</span>:.<span
78240 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 34 37 32 20 69 6e 20 62 61 6e 67 31 20 .class="t2_0">0x234472.in.bang1.
78260 28 74 65 73 74 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 73 73 (test)</span></span>.<span.class
78280 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 46 69 6c 65 4e 6f 74 ="line">....return.error.FileNot
782a0 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 6e 65 22 Found;</span>.<span.class="line"
782c0 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e >....<span.class="t32_1">^</span
782e0 3e 3c 2f 73 70 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
78300 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 n.class="t1_0">/home/andy/tmp/zi
78320 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 33 3a 35 3c 2f 73 70 61 6e g/docgen_tmp/test.zig:23:5</span
78340 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 33 34 66 20 69 >:.<span.class="t2_0">0x23434f.i
78360 6e 20 62 61 7a 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n.baz.(test)</span></span>.<span
78380 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 62 61 6e 67 31 28 29 3b 3c 2f .class="line">....try.bang1();</
783a0 73 70 61 6e 3e 0a 3c 73 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
783c0 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e an.class="t32_1">^</span></span>
783e0 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=
78400 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e "t1_0">/home/andy/tmp/zig/docgen
78420 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e _tmp/test.zig:43:5</span>:.<span
78440 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 33 31 32 20 69 6e 20 62 61 6e 67 32 20 .class="t2_0">0x234312.in.bang2.
78460 28 74 65 73 74 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 73 73 (test)</span></span>.<span.class
78480 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 50 65 72 6d 69 73 73 ="line">....return.error.Permiss
784a0 69 6f 6e 44 65 6e 69 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 ionDenied;</span>.<span.class="l
784c0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f ine">....<span.class="t32_1">^</
784e0 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">
78500 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d <span.class="t1_0">/home/andy/tm
78520 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 31 3a 35 3c 2f p/zig/docgen_tmp/test.zig:31:5</
78540 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 34 span>:.<span.class="t2_0">0x2344
78560 33 66 20 69 6e 20 68 65 6c 6c 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3f.in.hello.(test)</span></span>
78580 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 72 79 20 62 61 6e 67 .<span.class="line">....try.bang
785a0 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 22 3e 20 2();</span>.<span.class="line">.
785c0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c ...<span.class="t32_1">^</span><
785e0 2f 73 70 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.
78600 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f class="t1_0">/home/andy/tmp/zig/
78620 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 3a 33 31 3c 2f 73 70 61 6e 3e docgen_tmp/test.zig:17:31</span>
78640 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 32 64 65 20 69 6e :.<span.class="t2_0">0x2342de.in
78660 20 62 61 72 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .bar.(test)</span></span>.<span.
78680 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 65 72 72 6f 72 2e 46 69 6c 65 4e class="line">........error.FileN
786a0 6f 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 74 72 79 20 68 65 6c 6c 6f 28 29 2c 3c 2f 73 70 61 6e otFound.=&gt;.try.hello(),</span
786c0 3e 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">...........
786e0 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="
78700 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t32_1">^</span></span>.<span.cla
78720 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f ss="line"><span.class="t1_0">/ho
78740 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e me/andy/tmp/zig/docgen_tmp/test.
78760 7a 69 67 3a 37 3a 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f zig:7:9</span>:.<span.class="t2_
78780 30 22 3e 30 78 32 33 34 31 63 63 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0">0x2341cc.in.foo.(test)</span>
787a0 3c 2f 73 70 61 6e 3e 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">.....
787c0 20 20 20 74 72 79 20 62 61 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ...try.bar();</span>.<span.class
787e0 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 33 32 ="line">........<span.class="t32
78800 5f 31 22 3e 5e 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 _1">^</span></span>.<span.class=
78820 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f "line"><span.class="t1_0">/home/
78840 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 andy/tmp/zig/docgen_tmp/test.zig
78860 3a 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e :2:5</span>:.<span.class="t2_0">
78880 30 78 32 32 63 65 62 34 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 0x22ceb4.in.main.(test)</span></
788a0 73 70 61 6e 3e 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 72 79 span>.<span.class="line">....try
788c0 20 66 6f 6f 28 31 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 .foo(12);</span>.<span.class="li
788e0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 ne">....<span.class="t32_1">^</s
78900 70 61 6e 3e 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 pan></span>.</samp></pre></figur
78920 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 6c 79 20 e>.......<p>.......Look.closely.
78940 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 74 61 63 at.this.example..This.is.no.stac
78960 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 0a 20 20 k.trace........</p>.......<p>...
78980 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 6c 20 65 ....You.can.see.that.the.final.e
789a0 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 61 6e 20 rror.bubbled.up.was.<code><span.
789c0 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 3c 2f 73 class="line">PermissionDenied</s
789e0 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 65 20 6f pan></code>,...........but.the.o
78a00 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 69 73 20 riginal.error.that.started.this.
78a20 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 6c 61 73 whole.thing.was.<code><span.clas
78a40 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 2f 63 6f s="line">FileNotFound</span></co
78a60 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 3d 22 6c de>..In.the.<code><span.class="l
78a80 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 6f 6e 2c ine">bar</span></code>.function,
78aa0 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 6c 20 65 .the.code.handles.the.original.e
78ac0 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 75 72 6e rror.code,.......and.then.return
78ae0 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 68 20 73 s.another.one,.from.the.switch.s
78b00 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 20 6d 61 tatement..Error.Return.Traces.ma
78b20 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 6b 20 74 ke.this.clear,.whereas.a.stack.t
78b40 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 20 20 20 race.would.look.like.this:......
78b60 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.
78b80 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
78ba0 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c e">test.zig</cite></figcaption><
78bc0 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
78be0 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
78c00 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
78c20 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>().<
78c40 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
78c60 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">..
78c80 20 20 66 6f 6f 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 ..foo(<span.class="tok-number">1
78ca0 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
78cc0 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"
78ce0 3e 3c 2f 73 70 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
78d00 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
78d20 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 78 3a 20 3c 73 .class="tok-fn">foo</span>(x:.<s
78d40 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>)
78d60 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
78d80 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">
78da0 20 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
78dc0 6e 3e 20 28 78 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d n>.(x.&gt;=.<span.class="tok-num
78de0 62 65 72 22 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 ber">5</span>).{</span>.<span.cl
78e00 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 62 61 72 28 29 3b 3c 2f 73 70 61 6e 3e ass="line">........bar();</span>
78e20 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.
78e40 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
78e60 61 6e 3e 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 an>.<span.class="line">........b
78e80 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
78ea0 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
78ec0 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"></
78ee0 73 70 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
78f00 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
78f20 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 ass="tok-fn">bar</span>().<span.
78f40 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>.{</
78f60 73 70 61 6e 3e 0a 3c 73 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
78f80 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 61 7a an.class="tok-kw">if</span>.(baz
78fa0 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 6e 65 22 3e ()).{</span>.<span.class="line">
78fc0 20 20 20 20 20 20 20 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 ........quux();</span>.<span.cla
78fe0 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 6b ss="line">....}.<span.class="tok
79000 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 6e 20 -kw">else</span>.{</span>.<span.
79020 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 68 65 6c 6c 6f 28 29 3b 3c 2f 73 class="line">........hello();</s
79040 70 61 6e 3e 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
79060 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>
79080 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
790a0 6e 20 63 6c 61 73 73 3d 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-
790c0 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
790e0 6e 22 3e 62 61 7a 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n">baz</span>().<span.class="tok
79100 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
79120 6e 20 63 6c 61 73 73 3d 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="
79140 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 31 28 29 3b 3c 2f tok-kw">return</span>.bang1();</
79160 73 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
79180 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
791a0 61 6e 20 63 6c 61 73 73 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
791c0 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-
791e0 66 6e 22 3e 71 75 75 78 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">quux</span>().<span.class="t
79200 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
79220 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 6e 67 32 28 29 3b 3c 2f 73 pan.class="line">....bang2();</s
79240 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>
79260 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
79280 6e 20 63 6c 61 73 73 3d 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-
792a0 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
792c0 6e 22 3e 68 65 6c 6c 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 n">hello</span>().<span.class="t
792e0 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
79300 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 6e 67 32 28 29 3b 3c 2f 73 pan.class="line">....bang2();</s
79320 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>
79340 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
79360 6e 20 63 6c 61 73 73 3d 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-
79380 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
793a0 6e 22 3e 62 61 6e 67 31 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">bang1</span>().<span.class="t
793c0 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 0a 3c 73 ok-type">bool</span>.{</span>.<s
793e0 70 61 6e 20 63 6c 61 73 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
79400 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
79420 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 73 70 ass="tok-null">false</span>;</sp
79440 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>.
79460 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
79480 20 63 6c 61 73 73 3d 22 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
794a0 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
794c0 22 3e 62 61 6e 67 32 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">bang2</span>().<span.class="to
794e0 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
79500 61 6e 20 63 6c 61 73 73 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=
79520 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 "tok-builtin">@panic</span>(<spa
79540 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 50 65 72 6d 69 73 73 69 n.class="tok-str">&quot;Permissi
79560 6f 6e 44 65 6e 69 65 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 onDenied&quot;</span>);</span>.<
79580 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
795a0 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
795c0 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
795e0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
79600 6c 69 6e 65 22 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 2e line">$.<kbd>zig.build-exe.test.
79620 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 zig</kbd></span>.<span.class="li
79640 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 24 ne"></span>.<span.class="line">$
79660 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .<kbd>./test</kbd></span>.<span.
79680 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 33 34 32 33 32 20 70 61 6e 69 class="line">thread.1434232.pani
796a0 63 3a 20 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e c:.PermissionDenied</span>.<span
796c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
796e0 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 >/home/andy/tmp/zig/docgen_tmp/t
79700 65 73 74 2e 7a 69 67 3a 33 38 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig:38:5</span>:.<span.class
79720 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 66 36 36 20 69 6e 20 62 61 6e 67 32 20 28 74 65 73 74 29 ="t2_0">0x234f66.in.bang2.(test)
79740 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
79760 22 3e 20 20 20 20 40 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 ">....@panic(&quot;PermissionDen
79780 69 65 64 26 71 75 6f 74 3b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ied&quot;);</span>.<span.class="
797a0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c line">....<span.class="t32_1">^<
797c0 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"
797e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 ><span.class="t1_0">/home/andy/t
79800 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 30 3a 31 30 mp/zig/docgen_tmp/test.zig:30:10
79820 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 </span>:.<span.class="t2_0">0x23
79840 35 32 65 38 20 69 6e 20 68 65 6c 6c 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 52e8.in.hello.(test)</span></spa
79860 6e 3e 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 61 6e 67 32 28 n>.<span.class="line">....bang2(
79880 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">...
798a0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 ......<span.class="t32_1">^</spa
798c0 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
798e0 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
79900 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 3a 31 34 3c 2f 73 70 ig/docgen_tmp/test.zig:17:14</sp
79920 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 66 34 61 an>:.<span.class="t2_0">0x234f4a
79940 20 69 6e 20 62 61 72 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .in.bar.(test)</span></span>.<sp
79960 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 65 6c 6c 6f 28 29 3b an.class="line">........hello();
79980 3c 2f 73 70 61 6e 3e 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">.....
799a0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 ........<span.class="t32_1">^</s
799c0 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"><
799e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 span.class="t1_0">/home/andy/tmp
79a00 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 31 32 3c 2f 73 /zig/docgen_tmp/test.zig:7:12</s
79a20 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 33 66 37 pan>:.<span.class="t2_0">0x233f7
79a40 35 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 5.in.foo.(test)</span></span>.<s
79a60 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 28 29 3b 3c pan.class="line">........bar();<
79a80 2f 73 70 61 6e 3e 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">......
79aa0 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e .....<span.class="t32_1">^</span
79ac0 3e 3c 2f 73 70 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
79ae0 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 n.class="t1_0">/home/andy/tmp/zi
79b00 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 38 3c 2f 73 70 61 6e 3e g/docgen_tmp/test.zig:2:8</span>
79b20 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 63 63 64 20 69 6e :.<span.class="t2_0">0x22cccd.in
79b40 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .main.(test)</span></span>.<span
79b60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 31 32 29 3b 3c 2f 73 70 61 6e .class="line">....foo(12);</span
79b80 3e 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 3c 73 70 61 >.<span.class="line">.......<spa
79ba0 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
79bc0 3c 73 70 61 6e 20 63 6c 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="
79be0 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 t1_0">/home/andy/tmp/zig/lib/std
79c00 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 /start.zig:551:22</span>:.<span.
79c20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 33 64 63 20 69 6e 20 73 74 64 2e 73 74 61 class="t2_0">0x2263dc.in.std.sta
79c40 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e rt.callMain.(test)</span></span>
79c60 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">............
79c80 72 6f 6f 74 2e 6d 61 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 root.main();</span>.<span.class=
79ca0 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 3c 73 70 61 "line">.....................<spa
79cc0 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
79ce0 3c 73 70 61 6e 20 63 6c 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="
79d00 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 t1_0">/home/andy/tmp/zig/lib/std
79d20 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 /start.zig:495:12</span>:.<span.
79d40 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 66 66 65 20 69 6e 20 73 74 64 2e 73 74 61 class="t2_0">0x206ffe.in.std.sta
79d60 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e rt.callMainWithArgs.(test)</span
79d80 3e 3c 2f 73 70 61 6e 3e 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">....
79da0 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 return.@call(.{..modifier.=..alw
79dc0 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 ays_inline.},.callMain,..{});</s
79de0 70 61 6e 3e 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">........
79e00 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c ...<span.class="t32_1">^</span><
79e20 2f 73 70 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.
79e40 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f class="t1_0">/home/andy/tmp/zig/
79e60 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a lib/std/start.zig:409:17</span>:
79e80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 30 39 36 20 69 6e 20 .<span.class="t2_0">0x206096.in.
79ea0 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 std.start.posixCallMainAndExit.(
79ec0 74 65 73 74 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 73 73 3d test)</span></span>.<span.class=
79ee0 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 "line">....std.os.exit(@call(.{.
79f00 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 .modifier.=..always_inline.},.ca
79f20 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 llMainWithArgs,..{.argc,.argv,.e
79f40 6e 76 70 20 7d 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 nvp.}));</span>.<span.class="lin
79f60 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 22 e">................<span.class="
79f80 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t32_1">^</span></span>.<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 31 5f 30 22 3e 2f 68 6f ss="line"><span.class="t1_0">/ho
79fc0 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 me/andy/tmp/zig/lib/std/start.zi
79fe0 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f g:322:5</span>:.<span.class="t2_
7a000 30 22 3e 30 78 32 30 35 65 61 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 0">0x205ea2.in.std.start._start.
7a020 28 74 65 73 74 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 73 73 (test)</span></span>.<span.class
7a040 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d ="line">....@call(.{..modifier.=
7a060 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 ..never_inline.},.posixCallMainA
7a080 6e 64 45 78 69 74 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 ndExit,..{});</span>.<span.class
7a0a0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e ="line">....<span.class="t32_1">
7a0c0 5e 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
7a0e0 65 22 3e 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 e">(process.terminated.by.signal
7a100 29 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>.
7a120 20 20 20 20 20 20 3c 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 ......<p>.......Here,.the.stack.
7a140 74 72 61 63 65 20 64 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 trace.does.not.explain.how.the.c
7a160 6f 6e 74 72 6f 6c 0a 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 ontrol.......flow.in.<code><span
7a180 20 63 6c 61 73 73 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 .class="line">bar</span></code>.
7a1a0 67 6f 74 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 got.to.the.<code><span.class="li
7a1c0 6e 65 22 3e 68 65 6c 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 ne">hello()</span></code>.call..
7a1e0 20 20 20 20 20 20 4f 6e 65 20 77 6f 75 6c 64 20 68 61 76 65 20 74 6f 20 6f 70 65 6e 20 61 20 64 ......One.would.have.to.open.a.d
7a200 65 62 75 67 67 65 72 20 6f 72 20 66 75 72 74 68 65 72 20 69 6e 73 74 72 75 6d 65 6e 74 20 74 68 ebugger.or.further.instrument.th
7a220 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 e.application.......in.order.to.
7a240 66 69 6e 64 20 6f 75 74 2e 20 54 68 65 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 65 find.out..The.error.return.trace
7a260 2c 20 6f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 2c 0a 20 20 20 20 20 20 73 68 6f 77 73 ,.on.the.other.hand,.......shows
7a280 20 65 78 61 63 74 6c 79 20 68 6f 77 20 74 68 65 20 65 72 72 6f 72 20 62 75 62 62 6c 65 64 20 75 .exactly.how.the.error.bubbled.u
7a2a0 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 p........</p>.......<p>.......Th
7a2c0 69 73 20 64 65 62 75 67 67 69 6e 67 20 66 65 61 74 75 72 65 20 6d 61 6b 65 73 20 69 74 20 65 61 is.debugging.feature.makes.it.ea
7a2e0 73 69 65 72 20 74 6f 20 69 74 65 72 61 74 65 20 71 75 69 63 6b 6c 79 20 6f 6e 20 63 6f 64 65 20 sier.to.iterate.quickly.on.code.
7a300 74 68 61 74 0a 20 20 20 20 20 20 72 6f 62 75 73 74 6c 79 20 68 61 6e 64 6c 65 73 20 61 6c 6c 20 that.......robustly.handles.all.
7a320 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 error.conditions..This.means.tha
7a340 74 20 5a 69 67 20 64 65 76 65 6c 6f 70 65 72 73 0a 20 20 20 20 20 20 77 69 6c 6c 20 6e 61 74 75 t.Zig.developers.......will.natu
7a360 72 61 6c 6c 79 20 66 69 6e 64 20 74 68 65 6d 73 65 6c 76 65 73 20 77 72 69 74 69 6e 67 20 63 6f rally.find.themselves.writing.co
7a380 72 72 65 63 74 2c 20 72 6f 62 75 73 74 20 63 6f 64 65 20 69 6e 20 6f 72 64 65 72 0a 20 20 20 20 rrect,.robust.code.in.order.....
7a3a0 20 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 69 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 ..to.increase.their.development.
7a3c0 70 61 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 pace........</p>.......<p>......
7a3e0 20 45 72 72 6f 72 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 20 61 72 65 20 65 6e 61 62 6c 65 64 .Error.Return.Traces.are.enabled
7a400 20 62 79 20 64 65 66 61 75 6c 74 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e .by.default.in.<a.href="#Debug">
7a420 44 65 62 75 67 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 Debug</a>.and.<a.href="#ReleaseS
7a440 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 20 62 75 69 6c 64 73 20 61 6e 64 20 afe">ReleaseSafe</a>.builds.and.
7a460 64 69 73 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 disabled.by.default.in.<a.href="
7a480 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
7a4a0 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
7a4c0 65 53 6d 61 6c 6c 3c 2f 61 3e 20 62 75 69 6c 64 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 eSmall</a>.builds........</p>...
7a4e0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 77 20 77 61 ....<p>.......There.are.a.few.wa
7a500 79 73 20 74 6f 20 61 63 74 69 76 61 74 65 20 74 68 69 73 20 65 72 72 6f 72 20 72 65 74 75 72 6e ys.to.activate.this.error.return
7a520 20 74 72 61 63 69 6e 67 20 66 65 61 74 75 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .tracing.feature:.......</p>....
7a540 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 74 75 72 6e 20 61 6e 20 65 72 ...<ul>.........<li>Return.an.er
7a560 72 6f 72 20 66 72 6f 6d 20 6d 61 69 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 ror.from.main</li>.........<li>A
7a580 6e 20 65 72 72 6f 72 20 6d 61 6b 65 73 20 69 74 73 20 77 61 79 20 74 6f 20 3c 63 6f 64 65 3e 3c n.error.makes.its.way.to.<code><
7a5a0 73 70 61 6e 20 63 6c 61 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
7a5c0 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 73 3d ok-kw">catch</span>.<span.class=
7a5e0 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 70 61 "tok-kw">unreachable</span></spa
7a600 6e 3e 3c 2f 63 6f 64 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 n></code>.and.you.have.not.overr
7a620 69 64 64 65 6e 20 74 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 idden.the.default.panic.handler<
7a640 2f 6c 69 3e 0a 20 20 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 /li>.........<li>Use.<a.href="#e
7a660 72 72 6f 72 52 65 74 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 rrorReturnTrace">errorReturnTrac
7a680 65 3c 2f 61 3e 20 74 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 e</a>.to.access.the.current.retu
7a6a0 72 6e 20 74 72 61 63 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 rn.trace..You.can.use.<code><spa
7a6c0 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 64 75 6d 70 53 74 61 n.class="line">std.debug.dumpSta
7a6e0 63 6b 54 72 61 63 65 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 ckTrace</span></code>.to.print.i
7a700 74 2e 20 54 68 69 73 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 t..This.function.returns.comptim
7a720 65 2d 6b 6e 6f 77 6e 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 e-known.<a.href="#null">null</a>
7a740 20 77 68 65 6e 20 62 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 .when.building.without.error.ret
7a760 75 72 6e 20 74 72 61 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 urn.tracing.support.</li>.......
7a780 3c 2f 75 6c 3e 0a 20 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 </ul>.......<h4.id="Implementati
7a7a0 6f 6e 2d 44 65 74 61 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 on-Details"><a.href="#toc-Implem
7a7c0 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 3e 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e entation-Details">Implementation
7a7e0 20 44 65 74 61 69 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 .Details</a>.<a.class="hdr".href
7a800 3d 22 23 49 6d 70 6c 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 ="#Implementation-Details">..</a
7a820 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 6f 20 61 6e 61 6c 79 ></h4>........<p>.......To.analy
7a840 7a 65 20 70 65 72 66 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 ze.performance.cost,.there.are.t
7a860 77 6f 20 63 61 73 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 wo.cases:.......</p>.......<ul>.
7a880 20 20 20 20 20 20 20 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 ........<li>when.no.errors.are.r
7a8a0 65 74 75 72 6e 65 64 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 eturned</li>.........<li>when.re
7a8c0 74 75 72 6e 69 6e 67 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 turning.errors</li>.......</ul>.
7a8e0 20 20 20 20 20 20 3c 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 ......<p>.......For.the.case.whe
7a900 6e 20 6e 6f 20 65 72 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 n.no.errors.are.returned,.the.co
7a920 73 74 20 69 73 20 61 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 st.is.a.single.memory.write.oper
7a940 61 74 69 6f 6e 2c 20 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 ation,.only.in.the.first.non-fai
7a960 6c 61 62 6c 65 20 66 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 lable.function.in.the.call.graph
7a980 20 74 68 61 74 20 63 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 .that.calls.a.failable.function,
7a9a0 20 69 2e 65 2e 20 77 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 .i.e..when.a.function.returning.
7a9c0 3c 63 6f 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
7a9e0 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
7aa00 6e 3e 3c 2f 63 6f 64 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 n></code>.calls.a.function.retur
7aa20 6e 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 ning.<code><span.class="line"><s
7aa40 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 3c pan.class="tok-kw">error</span><
7aa60 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 6f 20 /span></code>........This.is.to.
7aa80 69 6e 69 74 69 61 6c 69 7a 65 20 74 68 69 73 20 73 74 72 75 63 74 20 69 6e 20 74 68 65 20 73 74 initialize.this.struct.in.the.st
7aaa0 61 63 6b 20 6d 65 6d 6f 72 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 ack.memory:.......</p>.......<fi
7aac0 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"
7aae0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 61 63 6b 5f 74 72 61 63 65 5f ><cite.class="file">stack_trace_
7ab00 73 74 72 75 63 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 struct.zig</cite></figcaption><p
7ab20 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
7ab40 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
7ab60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 74 n.class="tok-kw">const</span>.St
7ab80 61 63 6b 54 72 61 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 ackTrace.=.<span.class="tok-kw">
7aba0 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 61 struct</span>.{</span>.<span.cla
7abc0 73 73 3d 22 6c 69 6e 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 ss="line">....index:.<span.class
7abe0 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 3c 2f 73 70 61 6e 3e ="tok-type">usize</span>,</span>
7ac00 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 73 74 72 75 63 74 .<span.class="line">....instruct
7ac20 69 6f 6e 5f 61 64 64 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 ion_addresses:.[N]<span.class="t
7ac40 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 3c 73 ok-type">usize</span>,</span>.<s
7ac60 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 65 pan.class="line">};</span></code
7ac80 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>......
7aca0 20 48 65 72 65 2c 20 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 .Here,.N.is.the.maximum.function
7acc0 20 63 61 6c 6c 20 64 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 .call.depth.as.determined.by.cal
7ace0 6c 20 67 72 61 70 68 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 l.graph.analysis..Recursion.is.i
7ad00 67 6e 6f 72 65 64 20 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 gnored.and.counts.for.2........<
7ad20 2f 70 3e 0a 20 20 20 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 /p>.......<p>.......A.pointer.to
7ad40 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 74 61 63 6b 54 .<code><span.class="line">StackT
7ad60 72 61 63 65 3c 2f 73 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 race</span></code>.is.passed.as.
7ad80 61 20 73 65 63 72 65 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 a.secret.parameter.to.every.func
7ada0 74 69 6f 6e 20 74 68 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 tion.that.can.return.an.error,.b
7adc0 75 74 20 69 74 27 73 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 ut.it's.always.the.first.paramet
7ade0 65 72 2c 20 73 6f 20 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 er,.so.it.can.likely.sit.in.a.re
7ae00 67 69 73 74 65 72 20 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 gister.and.stay.there........</p
7ae20 3e 0a 20 20 20 20 20 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 >.......<p>.......That's.it.for.
7ae40 74 68 65 20 70 61 74 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 the.path.when.no.errors.occur..I
7ae60 74 27 73 20 70 72 61 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 t's.practically.free.in.terms.of
7ae80 20 70 65 72 66 6f 72 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 .performance........</p>.......<
7aea0 70 3e 0a 20 20 20 20 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 p>.......When.generating.the.cod
7aec0 65 20 66 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 e.for.a.function.that.returns.an
7aee0 20 65 72 72 6f 72 2c 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 .error,.just.before.the.<code><s
7af00 70 61 6e 20 63 6c 61 73 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
7af20 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
7af40 3e 20 73 74 61 74 65 6d 65 6e 74 20 28 6f 6e 6c 79 20 66 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e >.statement.(only.for.the.<code>
7af60 3c 73 70 61 6e 20 63 6c 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="
7af80 74 6f 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 tok-kw">return</span></span></co
7afa0 64 65 3e 20 73 74 61 74 65 6d 65 6e 74 73 20 74 68 61 74 20 72 65 74 75 72 6e 20 65 72 72 6f 72 de>.statements.that.return.error
7afc0 73 29 2c 20 5a 69 67 20 67 65 6e 65 72 61 74 65 73 20 61 20 63 61 6c 6c 20 74 6f 20 74 68 69 73 s),.Zig.generates.a.call.to.this
7afe0 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 .function:.......</p>.......<fig
7b000 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">
7b020 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 7a 69 67 5f 72 65 74 75 72 6e 5f 65 72 <cite.class="file">zig_return_er
7b040 72 6f 72 5f 66 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 ror_fn.zig</cite></figcaption><p
7b060 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
7b080 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 61 72 6b 65 64 20 n.class="tok-comment">//.marked.
7b0a0 61 73 20 26 71 75 6f 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 as.&quot;no-inline&quot;.in.LLVM
7b0c0 20 49 52 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 .IR</span></span>.<span.class="l
7b0e0 69 6e 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
7b100 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 5f 5f 7a 69 67 5f 72 an>.<span.class="tok-fn">__zig_r
7b120 65 74 75 72 6e 5f 65 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 eturn_error</span>(stack_trace:.
7b140 2a 53 74 61 63 6b 54 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 *StackTrace).<span.class="tok-ty
7b160 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
7b180 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 73 74 lass="line">....stack_trace.inst
7b1a0 72 75 63 74 69 6f 6e 5f 61 64 64 72 65 73 73 65 73 5b 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e ruction_addresses[stack_trace.in
7b1c0 64 65 78 5d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 dex].=.<span.class="tok-builtin"
7b1e0 3e 40 72 65 74 75 72 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 >@returnAddress</span>();</span>
7b200 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 61 63 6b 5f 74 72 .<span.class="line">....stack_tr
7b220 61 63 65 2e 69 6e 64 65 78 20 3d 20 28 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 64 65 78 20 2b ace.index.=.(stack_trace.index.+
7b240 20 3c 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
7b260 6e 3e 29 20 25 20 4e 3b 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>).%.N;</span>.<span.class="lin
7b280 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
7b2a0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 73 74 20 69 73 20 32 20 >.......<p>.......The.cost.is.2.
7b2c0 6d 61 74 68 20 6f 70 65 72 61 74 69 6f 6e 73 20 70 6c 75 73 20 73 6f 6d 65 20 6d 65 6d 6f 72 79 math.operations.plus.some.memory
7b2e0 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 2e 20 54 68 65 20 6d 65 6d 6f 72 79 20 61 63 .reads.and.writes..The.memory.ac
7b300 63 65 73 73 65 64 20 69 73 20 63 6f 6e 73 74 72 61 69 6e 65 64 20 61 6e 64 20 73 68 6f 75 6c 64 cessed.is.constrained.and.should
7b320 20 72 65 6d 61 69 6e 20 63 61 63 68 65 64 20 66 6f 72 20 74 68 65 20 64 75 72 61 74 69 6f 6e 20 .remain.cached.for.the.duration.
7b340 6f 66 20 74 68 65 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 62 75 62 62 6c 69 6e 67 2e 0a 20 20 of.the.error.return.bubbling....
7b360 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 73 20 66 6f 72 20 ....</p>.......<p>.......As.for.
7b380 63 6f 64 65 20 73 69 7a 65 20 63 6f 73 74 2c 20 31 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 code.size.cost,.1.function.call.
7b3a0 62 65 66 6f 72 65 20 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 6e 6f 20 before.a.return.statement.is.no.
7b3c0 62 69 67 20 64 65 61 6c 2e 20 45 76 65 6e 20 73 6f 2c 0a 20 20 20 20 20 20 49 20 68 61 76 65 20 big.deal..Even.so,.......I.have.
7b3e0 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
7b400 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 36 39 30 22 3e 61 20 70 6c 61 6e 3c 2f 61 3e 20 74 ang/zig/issues/690">a.plan</a>.t
7b420 6f 20 6d 61 6b 65 20 74 68 65 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c o.make.the.call.to.......<code><
7b440 73 70 61 6e 20 63 6c 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 span.class="line">__zig_return_e
7b460 72 72 6f 72 3c 2f 73 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 rror</span></code>.a.tail.call,.
7b480 77 68 69 63 68 20 62 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 which.brings.the.code.size.cost.
7b4a0 64 6f 77 6e 20 74 6f 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 down.to.actually.zero..What.is.a
7b4c0 20 72 65 74 75 72 6e 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 .return.statement.in.code.withou
7b4e0 74 20 65 72 72 6f 72 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 t.error.return.tracing.can.becom
7b500 65 20 61 20 6a 75 6d 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 e.a.jump.instruction.in.code.wit
7b520 68 20 65 72 72 6f 72 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 h.error.return.tracing........</
7b540 70 3e 0a 20 20 20 20 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 p>............................<h
7b560 32 20 69 64 3d 22 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 4f 2.id="Optionals"><a.href="#toc-O
7b580 70 74 69 6f 6e 61 6c 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 ptionals">Optionals</a>.<a.class
7b5a0 3d 22 68 64 72 22 20 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 ="hdr".href="#Optionals">..</a><
7b5c0 2f 68 32 3e 0a 0a 20 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 /h2>........<p>.......One.area.t
7b5e0 68 61 74 20 5a 69 67 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 hat.Zig.provides.safety.without.
7b600 63 6f 6d 70 72 6f 6d 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 compromising.efficiency.or......
7b620 20 72 65 61 64 61 62 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 .readability.is.with.the.optiona
7b640 6c 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 l.type........</p>.......<p>....
7b660 20 20 20 54 68 65 20 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 ...The.question.mark.symbolizes.
7b680 74 68 65 20 6f 70 74 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 the.optional.type..You.can.conve
7b6a0 72 74 20 61 20 74 79 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 rt.a.type.to.an.optional.......t
7b6c0 79 70 65 20 62 79 20 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 ype.by.putting.a.question.mark.i
7b6e0 6e 20 66 72 6f 6e 74 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 n.front.of.it,.like.this:.......
7b700 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
7b720 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
7b740 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 ">test.zig</cite></figcaption><p
7b760 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
7b780 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 72 6d 61 6c 20 n.class="tok-comment">//.normal.
7b7a0 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 73 integer</span></span>.<span.clas
7b7c0 73 3d 22 6c 69 6e 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
7b7e0 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 6e 20 63 6c 61 nst</span>.normal_int:.<span.cla
7b800 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ss="tok-type">i32</span>.=.<span
7b820 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>;
7b840 3c 2f 73 70 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
7b860 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
7b880 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 20 69 6e 74 65 s="tok-comment">//.optional.inte
7b8a0 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 73 73 3d 22 6c ger</span></span>.<span.class="l
7b8c0 69 6e 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<
7b8e0 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 20 63 6c 61 73 /span>.optional_int:.?<span.clas
7b900 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.
7b920 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>;<
7b940 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>....
7b960 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 6c 65 20 3c 63 ...<p>.......Now.the.variable.<c
7b980 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 6f 6e 61 6c 5f ode><span.class="line">optional_
7b9a0 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 61 6e 20 3c 63 int</span></code>.could.be.an.<c
7b9c0 6f 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
7b9e0 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 70 61 6e 3e 3c ss="tok-type">i32</span></span><
7ba00 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 73 3d 22 6c 69 /code>,.or.<code><span.class="li
7ba20 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 6c 3c ne"><span.class="tok-null">null<
7ba40 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>
7ba60 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 20 69 6e 74 65 .......<p>.......Instead.of.inte
7ba80 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 74 65 72 73 2e gers,.let's.talk.about.pointers.
7baa0 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 75 72 63 65 20 .Null.references.are.the.source.
7bac0 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 74 69 6f 6e 73 of.many.runtime.......exceptions
7bae0 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 20 62 65 69 6e ,.and.even.stand.accused.of.bein
7bb00 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 77 2e 6c 75 63 g.......<a.href="https://www.luc
7bb20 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 38 2f 33 31 2f idchart.com/techblog/2015/08/31/
7bb40 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 65 72 2d 73 63 the-worst-mistake-of-computer-sc
7bb60 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 66 20 63 6f 6d ience/">the.worst.mistake.of.com
7bb80 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 70 3e 0a 20 20 puter.science</a>........</p>...
7bba0 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 65 6d 2e 3c 2f ....<p>Zig.does.not.have.them.</
7bbc0 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 20 79 6f 75 20 p>.......<p>.......Instead,.you.
7bbe0 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 2e 20 54 68 69 can.use.an.optional.pointer..Thi
7bc00 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 20 61 20 6e 6f s.secretly.compiles.down.to.a.no
7bc20 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 65 20 6b 6e 6f rmal.pointer,.......since.we.kno
7bc40 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 76 61 6c 75 65 w.we.can.use.0.as.the.null.value
7bc60 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 20 74 68 65 20 .for.the.optional.type..But.the.
7bc80 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 75 72 20 77 6f compiler.......can.check.your.wo
7bca0 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 61 73 73 69 67 rk.and.make.sure.you.don't.assig
7bcc0 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 6e 27 74 20 62 n.null.to.something.that.can't.b
7bce0 65 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 e.null........</p>.......<p>....
7bd00 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 66 20 6e 6f 74 ...Typically.the.downside.of.not
7bd20 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 65 73 20 74 68 .having.null.is.that.it.makes.th
7bd40 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 20 20 77 72 69 e.code.more.verbose.to.......wri
7bd60 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 20 65 71 75 69 te..But,.let's.compare.some.equi
7bd80 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 0a 20 20 20 20 valent.C.code.and.Zig.code......
7bda0 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 3a 20 63 61 6c ..</p>.......<p>.......Task:.cal
7bdc0 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 6e 75 6c 6c 2c l.malloc,.if.the.result.is.null,
7bde0 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 20 20 20 20 3c .return.null........</p>.......<
7be00 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 3c 66 69 67 63 p>C.code</p>.......<figure><figc
7be20 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 aption.class="c-cap"><cite.class
7be40 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 2f 63 69 74 65 ="file">call_malloc_in_c.c</cite
7be60 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
7be80 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 74 79 70 65 20 lass="line">//.malloc.prototype.
7bea0 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 6e 3e 0a 3c 73 included.for.reference</span>.<s
7bec0 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 6f 63 28 73 69 pan.class="line">void.*malloc(si
7bee0 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 61 73 73 3d 22 ze_t.size);</span>.<span.class="
7bf00 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"
7bf20 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 64 29 20 7b 3c >struct.Foo.*do_a_thing(void).{<
7bf40 2f 73 70 61 6e 3e 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 68 /span>.<span.class="line">....ch
7bf60 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 61 6e 3e 0a 3c ar.*ptr.=.malloc(1234);</span>.<
7bf80 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 70 74 72 29 20 span.class="line">....if.(!ptr).
7bfa0 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 6c 61 73 73 3d return.NULL;</span>.<span.class=
7bfc0 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 70 61 6e 20 63 "line">....//....</span>.<span.c
7bfe0 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
7c000 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 65 3c 2f 70 3e ></figure>.......<p>Zig.code</p>
7c020 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
7c040 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 61 ="zig-cap"><cite.class="file">ca
7c060 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 65 3e 3c 2f 66 ll_malloc_from_zig.zig</cite></f
7c080 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
7c0a0 3d 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
7c0c0 22 3e 2f 2f 20 6d 61 6c 6c 6f 63 20 70 72 6f 74 6f 74 79 70 65 20 69 6e 63 6c 75 64 65 64 20 66 ">//.malloc.prototype.included.f
7c0e0 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 3c 73 70 61 6e or.reference</span></span>.<span
7c100 20 63 6c 61 73 73 3d 22 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
7c120 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">extern</span>.<span.class="to
7c140 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
7c160 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 73 69 7a 65 5f 74 29 -fn">malloc</span>(size:.size_t)
7c180 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 73 70 .?*<span.class="tok-type">u8</sp
7c1a0 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"><
7c1c0 2f 73 70 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.
7c1e0 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
7c200 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 29 20 lass="tok-fn">doAThing</span>().
7c220 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 6e 65 ?*Foo.{</span>.<span.class="line
7c240 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
7c260 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 73 73 </span>.ptr.=.malloc(<span.class
7c280 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 61 6e ="tok-number">1234</span>).<span
7c2a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 .class="tok-kw">orelse</span>.<s
7c2c0 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>
7c2e0 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
7c300 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">.
7c320 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 6f 6d ..._.=.ptr;.<span.class="tok-com
7c340 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 61 6e ment">//....</span></span>.<span
7c360 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
7c380 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 20 48 re></figure>.......<p>.........H
7c3a0 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 69 65 ere,.Zig.is.at.least.as.convenie
7c3c0 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 74 68 nt,.if.not.more,.than.C..And,.th
7c3e0 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 64 65 e.type.of."ptr".........is.<code
7c400 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 73 73 ><span.class="line">*<span.class
7c420 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 63 6f ="tok-type">u8</span></span></co
7c440 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 6c 61 de>.<em>not</em>.<code><span.cla
7c460 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 79 70 ss="line">?*<span.class="tok-typ
7c480 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 65 20 e">u8</span></span></code>..The.
7c4a0 3c 63 6f 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
7c4c0 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 70 61 lass="tok-kw">orelse</span></spa
7c4e0 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 20 20 n></code>.keyword...............
7c500 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 79 70 ......unwrapped.the.optional.typ
7c520 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 61 73 e.and.therefore.<code><span.clas
7c540 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 67 75 s="line">ptr</span></code>.is.gu
7c560 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 68 65 aranteed.to.be.non-null.everywhe
7c580 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 75 6e re.........it.is.used.in.the.fun
7c5a0 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ction........</p>.......<p>.....
7c5c0 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 20 61 ....The.other.form.of.checking.a
7c5e0 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 73 20 gainst.NULL.you.might.see.looks.
7c600 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 like.this:.......</p>.......<fig
7c620 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 ure><figcaption.class="c-cap"><c
7c640 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 5f 69 ite.class="file">checking_null_i
7c660 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 3c 63 n_c.c</cite></figcaption><pre><c
7c680 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 5f 61 ode><span.class="line">void.do_a
7c6a0 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 6e 3e _thing(struct.Foo.*foo).{</span>
7c6c0 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 73 6f .<span.class="line">....//.do.so
7c6e0 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 69 6e me.stuff</span>.<span.class="lin
7c700 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">..
7c720 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 73 3d ..if.(foo).{</span>.<span.class=
7c740 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 74 68 "line">........do_something_with
7c760 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 22 6c _foo(foo);</span>.<span.class="l
7c780 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
7c7a0 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">
7c7c0 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 70 61 ....//.do.some.stuff</span>.<spa
7c7e0 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></
7c800 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 20 pre></figure>.......<p>.........
7c820 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 73 61 In.Zig.you.can.accomplish.the.sa
7c840 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 67 75 me.thing:.......</p>.......<figu
7c860 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"><
7c880 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 5f cite.class="file">checking_null_
7c8a0 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 3c 70 in_zig.zig</cite></figcaption><p
7c8c0 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
7c8e0 6e 20 63 6c 61 73 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
7c900 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<
7c920 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 6c 69 /span>{};</span>.<span.class="li
7c940 6e 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
7c960 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 74 68 n>.<span.class="tok-fn">doSometh
7c980 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 73 70 ingWithFoo</span>(foo:.*Foo).<sp
7c9a0 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>.
7c9c0 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 73 3d {._.=.foo;.}</span>.<span.class=
7c9e0 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
7ca00 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>
7ca20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f .<span.class="tok-fn">doAThing</
7ca40 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 61 6e span>(optional_foo:.?*Foo).<span
7ca60 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>.{<
7ca80 2f 73 70 61 6e 3e 0a 3c 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
7caa0 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 73 6f pan.class="tok-comment">//.do.so
7cac0 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 6c 61 me.stuff</span></span>.<span.cla
7cae0 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
7cb00 69 6e 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
7cb20 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 3c 2f </span>.(optional_foo).|foo|.{</
7cb40 73 70 61 6e 3e 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 64 span>.<span.class="line">......d
7cb60 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 0a 3c oSomethingWithFoo(foo);</span>.<
7cb80 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>.<
7cba0 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.
7cbc0 63 6c 61 73 73 3d 22 6c 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
7cbe0 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 70 61 k-comment">//.do.some.stuff</spa
7cc00 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 3c 2f n></span>.<span.class="line">}</
7cc20 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>.....
7cc40 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 74 61 ..<p>.......Once.again,.the.nota
7cc60 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 74 68 ble.thing.here.is.that.inside.th
7cc80 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 63 6c e.if.block,.......<code><span.cl
7cca0 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 73 20 ass="line">foo</span></code>.is.
7ccc0 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 20 69 no.longer.an.optional.pointer,.i
7cce0 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 6e 6e t.is.a.pointer,.which.......cann
7cd00 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 70 3e ot.be.null........</p>.......<p>
7cd20 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 74 68 .......One.benefit.to.this.is.th
7cd40 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 72 73 at.functions.which.take.pointers
7cd60 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 6f 74 .as.arguments.can.......be.annot
7cd80 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 75 74 ated.with.the."nonnull".attribut
7cda0 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 6c 6c e.-.<code>__attribute__((nonnull
7cdc0 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 74 70 ))</code>.in.......<a.href="http
7cde0 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 2d 34 s://gcc.gnu.org/onlinedocs/gcc-4
7ce00 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 74 6d .0.0/gcc/Function-Attributes.htm
7ce20 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 72 20 l">GCC</a>........The.optimizer.
7ce40 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 73 69 can.sometimes.make.better.decisi
7ce60 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 65 6e ons.knowing.that.pointer.argumen
7ce80 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 20 3c ts.......cannot.be.null........<
7cea0 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 65 22 /p>.......<h3.id="Optional-Type"
7cec0 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 4f 70 ><a.href="#toc-Optional-Type">Op
7cee0 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 20 68 tional.Type</a>.<a.class="hdr".h
7cf00 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 33 3e ref="#Optional-Type">..</a></h3>
7cf20 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 74 65 ........<p>An.optional.is.create
7cf40 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 3d 22 d.by.putting.<code><span.class="
7cf60 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 20 6f line">?</span></code>.in.front.o
7cf80 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 74 69 f.a.type..You.can.use.compile-ti
7cfa0 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 74 68 me.......reflection.to.access.th
7cfc0 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 70 3e e.child.type.of.an.optional:</p>
7cfe0 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
7d000 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
7d020 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 69 67 st_optional_type.zig</cite></fig
7d040 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="
7d060 6c 69 6e 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
7d080 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
7d0a0 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.
7d0c0 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;<
7d0e0 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>.<
7d100 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.
7d120 63 6c 61 73 73 3d 22 6c 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
7d140 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
7d160 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 2f 73 tr">&quot;optional.type&quot;</s
7d180 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"
7d1a0 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">/
7d1c0 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 63 65 /.Declare.an.optional.and.coerce
7d1e0 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 6e 20 .from.null:</span></span>.<span.
7d200 63 6c 61 73 73 3d 22 6c 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
7d220 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 6c 61 k-kw">var</span>.foo:.?<span.cla
7d240 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ss="tok-type">i32</span>.=.<span
7d260 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 2f .class="tok-null">null</span>;</
7d280 73 70 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>
7d2a0 0a 3c 73 70 61 6e 20 63 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
7d2c0 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 6f 6d ass="tok-comment">//.Coerce.from
7d2e0 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 61 6e .child.type.of.an.optional</span
7d300 3e 3c 2f 73 70 61 6e 3e 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">....
7d320 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 3e 31 foo.=.<span.class="tok-number">1
7d340 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 3d 22 234</span>;</span>.<span.class="
7d360 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"
7d380 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">/
7d3a0 2f 20 55 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f /.Use.compile-time.reflection.to
7d3c0 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 6f 70 .access.the.child.type.of.the.op
7d3e0 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 61 73 tional:</span></span>.<span.clas
7d400 73 3d 22 6c 69 6e 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
7d420 22 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 ">comptime</span>.<span.class="t
7d440 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
7d460 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
7d480 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 an>(<span.class="tok-builtin">@T
7d4a0 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 69 6c ypeOf</span>(foo)).Optional.chil
7d4c0 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 32 3c d.==.<span.class="tok-type">i32<
7d4e0 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
7d500 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
7d520 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
7d540 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
7d560 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
7d580 67 20 74 65 73 74 20 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 74 79 70 65 2e 7a 69 67 3c 2f 6b g.test.test_optional_type.zig</k
7d5a0 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f bd></span>.<span.class="line">1/
7d5c0 31 20 74 65 73 74 20 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 1.test.&quot;optional.type&quot;
7d5e0 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....OK</span>.<span.class="line"
7d600 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 >All.1.tests.passed.</span>.</sa
7d620 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>..............
7d640 3c 68 33 20 69 64 3d 22 6e 75 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6e 75 6c 6c <h3.id="null"><a.href="#toc-null
7d660 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 ">null</a>.<a.class="hdr".href="
7d680 23 6e 75 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 #null">..</a></h3>........<p>...
7d6a0 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 ....Just.like.<a.href="#undefine
7d6c0 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c d">undefined</a>,.<code><span.cl
7d6e0 61 73 73 3d 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
7d700 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 3e 20 68 61 73 20 ">null</span></span></code>.has.
7d720 69 74 73 20 6f 77 6e 20 74 79 70 65 2c 20 61 6e 64 20 74 68 65 20 6f 6e 6c 79 20 77 61 79 20 74 its.own.type,.and.the.only.way.t
7d740 6f 20 75 73 65 20 69 74 20 69 73 20 74 6f 0a 20 20 20 20 20 20 63 61 73 74 20 69 74 20 74 6f 20 o.use.it.is.to.......cast.it.to.
7d760 61 20 64 69 66 66 65 72 65 6e 74 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 a.different.type:.......</p>....
7d780 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
7d7a0 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 2e 7a g-cap"><cite.class="file">test.z
7d7c0 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
7d7e0 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=
7d800 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 6f 6e 61 6c 5f 76 "tok-kw">const</span>.optional_v
7d820 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 69 33 alue:.?<span.class="tok-type">i3
7d840 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
7d860 22 3e 6e 75 6c 6c 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 ">null</span>;</span></code></pr
7d880 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=
7d8a0 22 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f "Optional-Pointers"><a.href="#to
7d8c0 63 2d 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 c-Optional-Pointers">Optional.Po
7d8e0 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 inters</a>.<a.class="hdr".href="
7d900 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a #Optional-Pointers">..</a></h3>.
7d920 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 20 69 73 .......<p>An.optional.pointer.is
7d940 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 74 68 65 20 73 61 6d 65 20 73 69 7a 65 20 .guaranteed.to.be.the.same.size.
7d960 61 73 20 61 20 70 6f 69 6e 74 65 72 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c as.a.pointer..The.<code><span.cl
7d980 61 73 73 3d 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
7d9a0 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 3e 20 6f 66 0a 20 ">null</span></span></code>.of..
7d9c0 20 20 20 20 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 .....the.optional.is.guaranteed.
7d9e0 74 6f 20 62 65 20 61 64 64 72 65 73 73 20 30 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 to.be.address.0.</p>.......<figu
7da00 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"><
7da20 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f cite.class="file">test_optional_
7da40 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 74 69 6f 6e 3e 3c pointer.zig</cite></figcaption><
7da60 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
7da80 61 6e 20 63 6c 61 73 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
7daa0 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
7dac0 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
7dae0 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
7db00 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
7db20 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
7db40 6e 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
7db60 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
7db80 3b 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 ;optional.pointers&quot;</span>.
7dba0 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">....
7dbc0 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 50 6f 69 <span.class="tok-comment">//.Poi
7dbe0 6e 74 65 72 73 20 63 61 6e 6e 6f 74 20 62 65 20 6e 75 6c 6c 2e 20 49 66 20 79 6f 75 20 77 61 6e nters.cannot.be.null..If.you.wan
7dc00 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 75 73 65 20 74 68 65 20 6f 70 74 69 6f 6e t.a.null.pointer,.use.the.option
7dc20 61 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 69 al</span></span>.<span.class="li
7dc40 6e 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
7dc60 22 3e 2f 2f 20 70 72 65 66 69 78 20 60 3f 60 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 70 6f 69 6e ">//.prefix.`?`.to.make.the.poin
7dc80 74 65 72 20 74 79 70 65 20 6f 70 74 69 6f 6e 61 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ter.type.optional.</span></span>
7dca0 0a 3c 73 70 61 6e 20 63 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
7dcc0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 3f 2a 3c ass="tok-kw">var</span>.ptr:.?*<
7dce0 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>
7dd00 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</
7dd20 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"
7dd40 3e 3c 2f 73 70 61 6e 3e 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">....
7dd60 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>.
7dd80 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
7dda0 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">
7ddc0 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
7dde0 6e 65 22 3e 20 20 20 20 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ne">....ptr.=.&amp;x;</span>.<sp
7de00 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
7de20 61 73 73 3d 22 6c 69 6e 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-
7de40 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 2e 3f 2e 2a 20 3d 3d kw">try</span>.expect(ptr.?.*.==
7de60 20 3c 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
7de80 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"><
7dea0 2f 73 70 61 6e 3e 0a 3c 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
7dec0 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 70 74 69 6f pan.class="tok-comment">//.Optio
7dee0 6e 61 6c 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 73 69 7a 65 20 61 nal.pointers.are.the.same.size.a
7df00 73 20 6e 6f 72 6d 61 6c 20 70 6f 69 6e 74 65 72 73 2c 20 62 65 63 61 75 73 65 20 70 6f 69 6e 74 s.normal.pointers,.because.point
7df20 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 69 er</span></span>.<span.class="li
7df40 6e 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
7df60 22 3e 2f 2f 20 76 61 6c 75 65 20 30 20 69 73 20 75 73 65 64 20 61 73 20 74 68 65 20 6e 75 6c 6c ">//.value.0.is.used.as.the.null
7df80 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 73 .value.</span></span>.<span.clas
7dfa0 73 3d 22 6c 69 6e 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
7dfc0 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=
7dfe0 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 3f 2a 3c "tok-builtin">@sizeOf</span>(?*<
7e000 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>
7e020 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 69 6e 22 3e 40 ).==.<span.class="tok-builtin">@
7e040 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d sizeOf</span>(*<span.class="tok-
7e060 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 73 70 61 6e type">i32</span>));</span>.<span
7e080 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
7e0a0 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.
7e0c0 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
7e0e0 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
7e100 22 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 6e 61 6c 5f ">$.<kbd>zig.test.test_optional_
7e120 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pointer.zig</kbd></span>.<span.c
7e140 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6f 70 74 69 6f lass="line">1/1.test.&quot;optio
7e160 6e 61 6c 20 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a nal.pointers&quot;....OK</span>.
7e180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 <span.class="line">All.1.tests.p
7e1a0 61 73 73 65 64 2e 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 assed.</span>.</samp></pre></fig
7e1c0 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 3d ure>.....................<h2.id=
7e1e0 22 43 61 73 74 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 73 74 69 6e 67 22 "Casting"><a.href="#toc-Casting"
7e200 3e 43 61 73 74 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 >Casting</a>.<a.class="hdr".href
7e220 3d 22 23 43 61 73 74 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 ="#Casting">..</a></h2>........<
7e240 70 3e 0a 20 20 20 20 20 20 41 20 3c 73 74 72 6f 6e 67 3e 74 79 70 65 20 63 61 73 74 3c 2f 73 74 p>.......A.<strong>type.cast</st
7e260 72 6f 6e 67 3e 20 63 6f 6e 76 65 72 74 73 20 61 20 76 61 6c 75 65 20 6f 66 20 6f 6e 65 20 74 79 rong>.converts.a.value.of.one.ty
7e280 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 3c 61 20 pe.to.another........Zig.has.<a.
7e2a0 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 63 href="#Type-Coercion">Type.Coerc
7e2c0 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 74 68 61 74 20 61 72 65 ion</a>.for.conversions.that.are
7e2e0 20 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 73 61 66 65 20 61 6e 64 .known.to.be.completely.safe.and
7e300 20 75 6e 61 6d 62 69 67 75 6f 75 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 3c 61 20 68 72 65 66 3d .unambiguous,.......and.<a.href=
7e320 22 23 45 78 70 6c 69 63 69 74 2d 43 61 73 74 73 22 3e 45 78 70 6c 69 63 69 74 20 43 61 73 74 73 "#Explicit-Casts">Explicit.Casts
7e340 3c 2f 61 3e 20 66 6f 72 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 74 68 61 74 20 6f 6e 65 20 77 6f </a>.for.conversions.that.one.wo
7e360 75 6c 64 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 68 61 70 70 65 6e 20 6f 6e 20 61 63 63 69 64 65 uld.not.want.to.happen.on.accide
7e380 6e 74 2e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 74 68 69 72 64 20 nt........There.is.also.a.third.
7e3a0 6b 69 6e 64 20 6f 66 20 74 79 70 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 63 61 6c 6c 65 64 20 3c kind.of.type.conversion.called.<
7e3c0 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
7e3e0 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 0a 20 20 20 20 eer.Type.Resolution</a>.for.....
7e400 20 20 74 68 65 20 63 61 73 65 20 77 68 65 6e 20 61 20 72 65 73 75 6c 74 20 74 79 70 65 20 6d 75 ..the.case.when.a.result.type.mu
7e420 73 74 20 62 65 20 64 65 63 69 64 65 64 20 67 69 76 65 6e 20 6d 75 6c 74 69 70 6c 65 20 6f 70 65 st.be.decided.given.multiple.ope
7e440 72 61 6e 64 20 74 79 70 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 rand.types........</p>.......<h3
7e460 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f .id="Type-Coercion"><a.href="#to
7e480 63 2d 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 3c 2f c-Type-Coercion">Type.Coercion</
7e4a0 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 6f a>.<a.class="hdr".href="#Type-Co
7e4c0 65 72 63 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 ercion">..</a></h3>........<p>..
7e4e0 20 20 20 20 20 54 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 6f 63 63 75 72 73 20 77 68 65 6e 20 6f .....Type.coercion.occurs.when.o
7e500 6e 65 20 74 79 70 65 20 69 73 20 65 78 70 65 63 74 65 64 2c 20 62 75 74 20 64 69 66 66 65 72 65 ne.type.is.expected,.but.differe
7e520 6e 74 20 74 79 70 65 20 69 73 20 70 72 6f 76 69 64 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a nt.type.is.provided:.......</p>.
7e540 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=
7e560 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 79 70 "zig-cap"><cite.class="file">typ
7e580 65 5f 63 6f 65 72 63 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 e_coercion.zig</cite></figcaptio
7e5a0 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">
7e5c0 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>
7e5e0 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 79 70 .<span.class="tok-str">&quot;typ
7e600 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74 69 6f e.coercion.-.variable.declaratio
7e620 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 20 63 6c n&quot;</span>.{</span>.<span.cl
7e640 61 73 73 3d 22 6c 69 6e 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-
7e660 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 22 74 kw">var</span>.a:.<span.class="t
7e680 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
7e6a0 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>.<
7e6c0 73 70 61 6e 20 63 6c 61 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
7e6e0 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 61 6e 20 63 s="tok-kw">var</span>.b:.<span.c
7e700 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 61 3b 3c lass="tok-type">u16</span>.=.a;<
7e720 2f 73 70 61 6e 3e 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">...._.
7e740 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 7d =.b;</span>.<span.class="line">}
7e760 3c 2f 73 70 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
7e780 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
7e7a0 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
7e7c0 73 73 3d 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 ss="tok-str">&quot;type.coercion
7e7e0 20 2d 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c .-.function.call&quot;</span>.{<
7e800 2f 73 70 61 6e 3e 0a 3c 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
7e820 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 61 3a pan.class="tok-kw">var</span>.a:
7e840 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
7e860 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 2f >.=.<span.class="tok-number">1</
7e880 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"
7e8a0 3e 20 20 20 20 66 6f 6f 28 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >....foo(a);</span>.<span.class=
7e8c0 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
7e8e0 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
7e900 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
7e920 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 62 3a 20 an.class="tok-fn">foo</span>(b:.
7e940 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 6e <span.class="tok-type">u16</span
7e960 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f >).<span.class="tok-type">void</
7e980 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
7e9a0 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 3d ">...._.=.b;</span>.<span.class=
7e9c0 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
7e9e0 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
7ea00 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>.<
7ea20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 20 span.class="tok-str">&quot;type.
7ea40 63 6f 65 72 63 69 6f 6e 20 2d 20 40 61 73 20 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 coercion.-.@as.builtin&quot;</sp
7ea60 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">
7ea80 20 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
7eaa0 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 38 an>.a:.<span.class="tok-type">u8
7eac0 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
7eae0 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=
7eb00 22 6c 69 6e 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">
7eb20 76 61 72 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d var</span>.b.=.<span.class="tok-
7eb40 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=
7eb60 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 2c 20 61 29 3b 3c 2f 73 70 61 6e "tok-type">u16</span>,.a);</span
7eb80 3e 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;<
7eba0 2f 73 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
7ebc0 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>
7ebe0 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
7ec00 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 3c 73 70 61 6e ell</figcaption><pre><samp><span
7ec20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 79 .class="line">$.<kbd>zig.test.ty
7ec40 70 65 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 pe_coercion.zig</kbd></span>.<sp
7ec60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 74 an.class="line">1/3.test.&quot;t
7ec80 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74 ype.coercion.-.variable.declarat
7eca0 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ion&quot;....OK</span>.<span.cla
7ecc0 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 74 79 70 65 20 63 6f ss="line">2/3.test.&quot;type.co
7ece0 65 72 63 69 6f 6e 20 2d 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 26 71 75 6f 74 3b 2e 2e 2e 20 ercion.-.function.call&quot;....
7ed00 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 33 OK</span>.<span.class="line">3/3
7ed20 20 74 65 73 74 20 26 71 75 6f 74 3b 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 40 61 73 20 .test.&quot;type.coercion.-.@as.
7ed40 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e builtin&quot;....OK</span>.<span
7ed60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 73 65 64 .class="line">All.3.tests.passed
7ed80 2e 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>.
7eda0 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 73 20 61 ......<p>.......Type.coercions.a
7edc0 72 65 20 6f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 77 68 65 6e 20 69 74 20 69 73 20 63 6f 6d 70 6c re.only.allowed.when.it.is.compl
7ede0 65 74 65 6c 79 20 75 6e 61 6d 62 69 67 75 6f 75 73 20 68 6f 77 20 74 6f 20 67 65 74 20 66 72 6f etely.unambiguous.how.to.get.fro
7ee00 6d 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 m.one.type.to.another,.......and
7ee20 20 74 68 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 67 75 61 72 61 6e 74 65 65 .the.transformation.is.guarantee
7ee40 64 20 74 6f 20 62 65 20 73 61 66 65 2e 20 54 68 65 72 65 20 69 73 20 6f 6e 65 20 65 78 63 65 70 d.to.be.safe..There.is.one.excep
7ee60 74 69 6f 6e 2c 20 77 68 69 63 68 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 tion,.which.is.<a.href="#C-Point
7ee80 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ers">C.Pointers</a>........</p>.
7eea0 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 ......<h4.id="Type-Coercion-Stri
7eec0 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f cter-Qualification"><a.href="#to
7eee0 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 c-Type-Coercion-Stricter-Qualifi
7ef00 63 61 74 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 53 74 72 69 63 74 65 72 20 cation">Type.Coercion:.Stricter.
7ef20 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 Qualification</a>.<a.class="hdr"
7ef40 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 .href="#Type-Coercion-Stricter-Q
7ef60 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 ualification">..</a></h4>.......
7ef80 20 3c 70 3e 0a 20 20 20 20 20 20 56 61 6c 75 65 73 20 77 68 69 63 68 20 68 61 76 65 20 74 68 65 .<p>.......Values.which.have.the
7efa0 20 73 61 6d 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 61 74 20 72 75 6e 74 69 6d 65 20 .same.representation.at.runtime.
7efc0 63 61 6e 20 62 65 20 63 61 73 74 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 73 74 72 69 can.be.cast.to.increase.the.stri
7efe0 63 74 6e 65 73 73 0a 20 20 20 20 20 20 6f 66 20 74 68 65 20 71 75 61 6c 69 66 69 65 72 73 2c 20 ctness.......of.the.qualifiers,.
7f000 6e 6f 20 6d 61 74 74 65 72 20 68 6f 77 20 6e 65 73 74 65 64 20 74 68 65 20 71 75 61 6c 69 66 69 no.matter.how.nested.the.qualifi
7f020 65 72 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 75 6c 3e 0a 20 ers.are:.......</p>.......<ul>..
7f040 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="
7f060 6c 69 6e 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
7f080 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6e 6f 6e 2d 63 6f 6e 73 </span></span></code>.-.non-cons
7f0a0 74 20 74 6f 20 63 6f 6e 73 74 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 t.to.const.is.allowed</li>......
7f0c0 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
7f0e0 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<
7f100 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6e 6f 6e 2d 76 6f 6c 61 74 /span></span></code>.-.non-volat
7f120 69 6c 65 20 74 6f 20 76 6f 6c 61 74 69 6c 65 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c 69 3e 0a ile.to.volatile.is.allowed</li>.
7f140 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=
7f160 22 6c 69 6e 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 69 67 "line"><span.class="tok-kw">alig
7f180 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 67 67 65 72 20 n</span></span></code>.-.bigger.
7f1a0 74 6f 20 73 6d 61 6c 6c 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 to.smaller.alignment.is.allowed.
7f1c0 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 45 72 </li>...........<li><a.href="#Er
7f1e0 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 65 72 72 6f 72 20 73 65 74 73 3c 2f 61 3e 20 74 6f 20 ror-Set-Type">error.sets</a>.to.
7f200 73 75 70 65 72 73 65 74 73 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 supersets.is.allowed</li>.......
7f220 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 63 61 73 74 </ul>.......<p>.......These.cast
7f240 73 20 61 72 65 20 6e 6f 2d 6f 70 73 20 61 74 20 72 75 6e 74 69 6d 65 20 73 69 6e 63 65 20 74 68 s.are.no-ops.at.runtime.since.th
7f260 65 20 76 61 6c 75 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 e.value.representation.does.not.
7f280 63 68 61 6e 67 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 change........</p>.......<figure
7f2a0 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
7f2c0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 6f 5f 6f 70 5f 63 61 73 74 73 2e 7a 69 67 3c te.class="file">no_op_casts.zig<
7f2e0 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
7f300 70 61 6e 20 63 6c 61 73 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
7f320 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
7f340 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 63 6f ok-str">&quot;type.coercion.-.co
7f360 6e 73 74 20 71 75 61 6c 69 66 69 63 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b nst.qualification&quot;</span>.{
7f380 3c 2f 73 70 61 6e 3e 0a 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">....<
7f3a0 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 61 span.class="tok-kw">var</span>.a
7f3c0 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
7f3e0 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
7f400 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
7f420 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<
7f440 2f 73 70 61 6e 3e 20 62 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 /span>.b:.*<span.class="tok-type
7f460 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ">i32</span>.=.&amp;a;</span>.<s
7f480 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 62 29 3b 3c 2f 73 70 pan.class="line">....foo(b);</sp
7f4a0 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>.
7f4c0 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
7f4e0 20 63 6c 61 73 73 3d 22 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
7f500 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
7f520 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 5f 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">foo</span>(_:.*<span.class="to
7f540 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="
7f560 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
7f580 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
7f5a0 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>
7f5c0 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
7f5e0 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 3c 73 70 61 6e ell</figcaption><pre><samp><span
7f600 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 6e 6f .class="line">$.<kbd>zig.test.no
7f620 5f 6f 70 5f 63 61 73 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e _op_casts.zig</kbd></span>.<span
7f640 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 74 79 70 .class="line">1/1.test.&quot;typ
7f660 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 63 6f 6e 73 74 20 71 75 61 6c 69 66 69 63 61 74 69 6f 6e e.coercion.-.const.qualification
7f680 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
7f6a0 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e "line">All.1.tests.passed.</span
7f6c0 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>.......<
7f6e0 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 20 63 p>.......In.addition,.pointers.c
7f700 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 72 73 oerce.to.const.optional.pointers
7f720 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
7f740 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
7f760 73 73 3d 22 66 69 6c 65 22 3e 70 6f 69 6e 74 65 72 5f 63 6f 65 72 63 65 5f 63 6f 6e 73 74 5f 6f ss="file">pointer_coerce_const_o
7f780 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 70 74 69 6f 6e 3e 3c ptional.zig</cite></figcaption><
7f7a0 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
7f7c0 61 6e 20 63 6c 61 73 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
7f7e0 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">@
7f800 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
7f820 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
7f840 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
7f860 73 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.
7f880 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
7f8a0 61 6e 20 63 6c 61 73 73 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
7f8c0 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;
7f8e0 3c 2f 73 70 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
7f900 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
7f920 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
7f940 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 5b 31 5d 5b 2a 5d 63 ss="tok-str">&quot;cast.*[1][*]c
7f960 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 6f 6e 73 74 20 75 38 onst.u8.to.[*]const.?[*]const.u8
7f980 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
7f9a0 73 73 3d 22 6c 69 6e 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
7f9c0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 69 6e 64 6f 77 5f 6e 61 6d 65 20 3d 20 5b 3c w">const</span>.window_name.=.[<
7f9e0 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>
7fa00 5d 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ][*]<span.class="tok-kw">const</
7fa20 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<
7fa40 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>{<span.class="tok-str">&qu
7fa60 6f 74 3b 77 69 6e 64 6f 77 20 6e 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 ot;window.name&quot;</span>};</s
7fa80 70 61 6e 3e 0a 3c 73 70 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
7faa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a n.class="tok-kw">const</span>.x:
7fac0 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 63 6f 6e 73 74 3c 2f .[*]<span.class="tok-kw">const</
7fae0 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 6b 2d 6b 77 22 3e 63 span>.?[*]<span.class="tok-kw">c
7fb00 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 onst</span>.<span.class="tok-typ
7fb20 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 77 5f 6e 61 6d 65 3b e">u8</span>.=.&amp;window_name;
7fb40 3c 2f 73 70 61 6e 3e 0a 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">....<
7fb60 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
7fb80 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
7fba0 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 6c 69 63 65 54 6f 28 ype">u8</span>,.std.mem.sliceTo(
7fbc0 3c 73 70 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
7fbe0 73 74 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 6e 75 st</span>([*:<span.class="tok-nu
7fc00 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 2d mber">0</span>]<span.class="tok-
7fc20 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
7fc40 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">u8</span>,.x[<span.class
7fc60 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 2e 3f 29 2c 20 3c 73 70 61 ="tok-number">0</span>].?),.<spa
7fc80 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 20 n.class="tok-number">0</span>),.
7fca0 3c 73 70 61 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 69 6e 64 <span.class="tok-str">&quot;wind
7fcc0 6f 77 20 6e 61 6d 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 ow.name&quot;</span>));</span>.<
7fce0 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
7fd00 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
7fd20 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
7fd40 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
7fd60 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 6f 69 6e 74 65 72 5f 63 6f line">$.<kbd>zig.test.pointer_co
7fd80 65 72 63 65 5f 63 6f 6e 73 74 5f 6f 70 74 69 6f 6e 61 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 erce_const_optional.zig</kbd></s
7fda0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 pan>.<span.class="line">1/1.test
7fdc0 20 26 71 75 6f 74 3b 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 .&quot;cast.*[1][*]const.u8.to.[
7fde0 2a 5d 63 6f 6e 73 74 20 3f 5b 2a 5d 63 6f 6e 73 74 20 75 38 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b *]const.?[*]const.u8&quot;....OK
7fe00 3c 2f 73 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 6c 6c 20 31 </span>.<span.class="line">All.1
7fe20 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 .tests.passed.</span>.</samp></p
7fe40 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 64 re></figure>..............<h4.id
7fe60 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e 64 2d 46 6c 6f 61 ="Type-Coercion-Integer-and-Floa
7fe80 74 2d 57 69 64 65 6e 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 t-Widening"><a.href="#toc-Type-C
7fea0 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
7fec0 6e 67 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 49 6e 74 65 67 65 72 20 61 6e 64 20 46 ng">Type.Coercion:.Integer.and.F
7fee0 6c 6f 61 74 20 57 69 64 65 6e 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 loat.Widening</a>.<a.class="hdr"
7ff00 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e .href="#Type-Coercion-Integer-an
7ff20 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 d-Float-Widening">..</a></h4>...
7ff40 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 .....<p>.......<a.href="#Integer
7ff60 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 63 6f 65 72 63 65 20 74 6f 20 69 6e 74 65 67 65 s">Integers</a>.coerce.to.intege
7ff80 72 20 74 79 70 65 73 20 77 68 69 63 68 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 65 76 65 72 r.types.which.can.represent.ever
7ffa0 79 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 6c 64 20 74 79 70 65 2c 20 61 6e 64 20 6c 69 6b y.value.of.the.old.type,.and.lik
7ffc0 65 77 69 73 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c ewise.......<a.href="#Floats">Fl
7ffe0 6f 61 74 73 3c 2f 61 3e 20 63 6f 65 72 63 65 20 74 6f 20 66 6c 6f 61 74 20 74 79 70 65 73 20 77 oats</a>.coerce.to.float.types.w
80000 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 6f hich.can.represent.every.value.o
80020 66 20 74 68 65 20 6f 6c 64 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 f.the.old.type........</p>......
80040 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-
80060 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 74 cap"><cite.class="file">test_int
80080 65 67 65 72 5f 77 69 64 65 6e 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 eger_widening.zig</cite></figcap
800a0 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
800c0 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
800e0 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
80100 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=
80120 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>
80140 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
80160 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 an.class="tok-kw">const</span>.b
80180 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 74 69 uiltin.=.<span.class="tok-builti
801a0 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
801c0 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 70 61 ok-str">&quot;builtin&quot;</spa
801e0 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"><
80200 73 70 61 6e 20 63 6c 61 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>
80220 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
80240 70 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
80260 61 73 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.=.
80280 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 6e std.mem;</span>.<span.class="lin
802a0 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
802c0 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>.<
802e0 73 70 61 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 span.class="tok-str">&quot;integ
80300 65 72 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e er.widening&quot;</span>.{</span
80320 3e 0a 3c 73 70 61 6e 20 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
80340 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 61 lass="tok-kw">var</span>.a:.<spa
80360 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>.=.<
80380 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 61 span.class="tok-number">250</spa
803a0 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">..
803c0 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
803e0 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 31 36 3c >.b:.<span.class="tok-type">u16<
80400 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 22 /span>.=.a;</span>.<span.class="
80420 6c 69 6e 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
80440 61 72 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 ar</span>.c:.<span.class="tok-ty
80460 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pe">u32</span>.=.b;</span>.<span
80480 20 63 6c 61 73 73 3d 22 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
804a0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">var</span>.d:.<span.class
804c0 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 63 3b 3c 2f 73 70 61 ="tok-type">u64</span>.=.c;</spa
804e0 6e 3e 0a 3c 73 70 61 6e 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.
80500 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 3a 20 3c 73 70 class="tok-kw">var</span>.e:.<sp
80520 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 3d an.class="tok-type">u64</span>.=
80540 20 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 6e 65 22 3e 20 20 .d;</span>.<span.class="line">..
80560 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
80580 3e 20 66 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 32 38 >.f:.<span.class="tok-type">u128
805a0 3c 2f 73 70 61 6e 3e 20 3d 20 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>.=.e;</span>.<span.class=
805c0 22 6c 69 6e 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">
805e0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 20 3d 3d 20 61 29 3b 3c 2f 73 70 61 6e try</span>.expect(f.==.a);</span
80600 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
80620 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
80640 6c 61 73 73 3d 22 6c 69 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"
80660 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
80680 72 22 3e 26 71 75 6f 74 3b 69 6d 70 6c 69 63 69 74 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 r">&quot;implicit.unsigned.integ
806a0 65 72 20 74 6f 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e er.to.signed.integer&quot;</span
806c0 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">..
806e0 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
80700 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</
80720 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"
80740 3e 32 35 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 >250</span>;</span>.<span.class=
80760 22 6c 69 6e 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">
80780 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 6b 2d 74 var</span>.b:.<span.class="tok-t
807a0 79 70 65 22 3e 69 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 ype">i16</span>.=.a;</span>.<spa
807c0 6e 20 63 6c 61 73 73 3d 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="
807e0 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 20 3d 3d 20 3c tok-kw">try</span>.expect(b.==.<
80800 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 61 span.class="tok-number">250</spa
80820 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">}
80840 3c 2f 73 70 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
80860 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
80880 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
808a0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6c 6f 61 74 20 77 69 64 65 6e 69 6e ss="tok-str">&quot;float.widenin
808c0 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
808e0 61 73 73 3d 22 6c 69 6e 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-
80900 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 74 65 3a 20 74 68 65 72 65 20 69 73 20 61 6e 20 6f 70 comment">//.Note:.there.is.an.op
80920 65 6e 20 69 73 73 75 65 20 70 72 65 76 65 6e 74 69 6e 67 20 74 68 69 73 20 66 72 6f 6d 20 77 6f en.issue.preventing.this.from.wo
80940 72 6b 69 6e 67 20 6f 6e 20 61 61 72 63 68 36 34 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a rking.on.aarch64:</span></span>.
80960 3c 73 70 61 6e 20 63 6c 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
80980 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 ss="tok-comment">//.https://gith
809a0 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 33 32 38 32 3c 2f ub.com/ziglang/zig/issues/3282</
809c0 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">
809e0 20 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
80a00 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 67 65 74 2e 63 70 75 2e 61 72 63 68 20 3d 3d 20 2e n>.(builtin.target.cpu.arch.==..
80a20 61 61 72 63 68 36 34 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 aarch64).<span.class="tok-kw">re
80a40 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 turn</span>.<span.class="tok-kw"
80a60 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 61 6e >error</span>.SkipZigTest;</span
80a80 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
80aa0 61 6e 20 63 6c 61 73 73 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=
80ac0 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">var</span>.a:.<span.cla
80ae0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ss="tok-type">f16</span>.=.<span
80b00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e .class="tok-number">12.34</span>
80b20 3b 3c 2f 73 70 61 6e 3e 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">....
80b40 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>.
80b60 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 b:.<span.class="tok-type">f32</s
80b80 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 22 6c 69 pan>.=.a;</span>.<span.class="li
80ba0 6e 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
80bc0 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
80be0 22 3e 66 36 34 3c 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 ">f64</span>.=.b;</span>.<span.c
80c00 6c 61 73 73 3d 22 6c 69 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
80c20 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">var</span>.d:.<span.class="
80c40 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 20 3d 20 63 3b 3c 2f 73 70 61 6e tok-type">f128</span>.=.c;</span
80c60 3e 0a 3c 73 70 61 6e 20 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
80c80 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(
80ca0 64 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 6c 69 6e d.==.a);</span>.<span.class="lin
80cc0 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
80ce0 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
80d00 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
80d20 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
80d40 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
80d60 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 </kbd></span>.<span.class="line"
80d80 3e 31 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 77 69 64 65 6e 69 6e 67 >1/3.test.&quot;integer.widening
80da0 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
80dc0 22 6c 69 6e 65 22 3e 32 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 69 6d 70 6c 69 63 69 74 20 75 "line">2/3.test.&quot;implicit.u
80de0 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 74 6f 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 nsigned.integer.to.signed.intege
80e00 72 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r&quot;....OK</span>.<span.class
80e20 3d 22 6c 69 6e 65 22 3e 33 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 66 6c 6f 61 74 20 77 69 64 ="line">3/3.test.&quot;float.wid
80e40 65 6e 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ening&quot;....OK</span>.<span.c
80e60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c lass="line">All.3.tests.passed.<
80e80 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>...
80ea0 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 6e ...........<h4.id="Type-Coercion
80ec0 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 72 65 66 3d -Coercion-Float-to-Int"><a.href=
80ee0 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f "#toc-Type-Coercion-Coercion-Flo
80f00 61 74 2d 74 6f 2d 49 6e 74 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 43 6f 65 72 63 69 at-to-Int">Type.Coercion:.Coerci
80f20 6f 6e 20 46 6c 6f 61 74 20 74 6f 20 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 on.Float.to.Int</a>.<a.class="hd
80f40 72 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 65 72 63 69 6f 6e r".href="#Type-Coercion-Coercion
80f60 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 -Float-to-Int">..</a></h4>......
80f80 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 63 6f 6d 70 69 6c 65 72 20 65 72 72 6f 72 20 69 73 20 ..<p>.......A.compiler.error.is.
80fa0 61 70 70 72 6f 70 72 69 61 74 65 20 62 65 63 61 75 73 65 20 74 68 69 73 20 61 6d 62 69 67 75 6f appropriate.because.this.ambiguo
80fc0 75 73 20 65 78 70 72 65 73 73 69 6f 6e 20 6c 65 61 76 65 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 us.expression.leaves.the.compile
80fe0 72 0a 20 20 20 20 20 20 74 77 6f 20 63 68 6f 69 63 65 73 20 61 62 6f 75 74 20 74 68 65 20 63 6f r.......two.choices.about.the.co
81000 65 72 63 69 6f 6e 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 ercion........</p>.......<ul>...
81020 20 20 20 20 20 20 3c 6c 69 3e 20 43 61 73 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ......<li>.Cast.<code><span.clas
81040 73 3d 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
81060 22 3e 35 34 2e 30 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 ">54.0</span></span></code>.to.<
81080 63 6f 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
810a0 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
810c0 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 3c 63 n></span></code>.resulting.in.<c
810e0 6f 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
81100 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 61 ss="tok-builtin">@as</span>(<spa
81120 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c n.class="tok-type">comptime_int<
81140 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"
81160 3e 31 30 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 >10</span>)</span></code>,.which
81180 20 69 73 20 63 61 73 74 65 64 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .is.casted.to.<code><span.class=
811a0 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"
811c0 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
811e0 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">f32</span>,.<span.class="tok-
81200 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 3e number">10</span>)</span></code>
81220 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 20 43 61 73 74 20 3c 63 6f 64 65 3e 3c 73 </li>.........<li>.Cast.<code><s
81240 70 61 6e 20 63 6c 61 73 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
81260 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 3c 2f 63 6f 64 65 3e k-number">5</span></span></code>
81280 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
812a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f an.class="tok-type">comptime_flo
812c0 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 65 73 75 6c 74 69 6e at</span></span></code>.resultin
812e0 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 73 g.in.<code><span.class="line"><s
81300 70 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
81320 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 69 n>(<span.class="tok-type">compti
81340 6d 65 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f me_float</span>,.<span.class="to
81360 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 70 61 6e 3e 3c 2f 63 k-number">10.8</span>)</span></c
81380 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 3c 63 6f 64 65 3e 3c ode>,.which.is.casted.to.<code><
813a0 73 70 61 6e 20 63 6c 61 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
813c0 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
813e0 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 3c 73 70 61 6e 20 ss="tok-type">f32</span>,.<span.
81400 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 73 70 61 6e 3e 29 3c class="tok-number">10.8</span>)<
81420 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 75 6c 3e 0a 20 /span></code></li>.......</ul>..
81440 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="
81460 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
81480 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
814a0 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
814c0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 6d 70 69 6c 65 20 74 69 6d 65 20 s="tok-comment">//.Compile.time.
814e0 63 6f 65 72 63 69 6f 6e 20 6f 66 20 66 6c 6f 61 74 20 74 6f 20 69 6e 74 3c 2f 73 70 61 6e 3e 3c coercion.of.float.to.int</span><
81500 2f 73 70 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.
81520 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
81540 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6d 70 6c 69 63 69 74 20 .class="tok-str">&quot;implicit.
81560 63 61 73 74 20 74 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 cast.to.comptime_int&quot;</span
81580 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">..
815a0 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
815c0 3e 20 66 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c >.f:.<span.class="tok-type">f32<
815e0 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
81600 22 3e 35 34 2e 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 ">54.0</span>./.<span.class="tok
81620 2d 6e 75 6d 62 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 -number">5</span>;</span>.<span.
81640 63 6c 61 73 73 3d 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 class="line">...._.=.f;</span>.<
81660 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
81680 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
816a0 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
816c0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
816e0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f line">$.<kbd>zig.test.test.zig</
81700 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c kbd></span>.<span.class="line"><
81720 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 span.class="t0_1">./docgen_tmp/t
81740 65 73 74 2e 7a 69 67 3a 33 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig:3:18:.</span><span.class
81760 3d 22 74 33 31 5f 31 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 ="t31_1">error:.</span><span.cla
81780 73 73 3d 22 74 30 5f 31 22 3e 66 6c 6f 61 74 20 76 61 6c 75 65 20 35 34 2e 30 30 30 30 30 30 20 ss="t0_1">float.value.54.000000.
817a0 63 61 6e 6e 6f 74 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 74 79 70 65 20 27 63 6f 6d 70 74 cannot.be.coerced.to.type.'compt
817c0 69 6d 65 5f 69 6e 74 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ime_int'</span></span>.<span.cla
817e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 66 3a 20 66 33 32 20 3d 20 35 34 2e 30 20 ss="line">....var.f:.f32.=.54.0.
81800 2f 20 35 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 /.5;</span>.<span.class="line">.
81820 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 33 32 ................<span.class="t32
81840 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 _1">^</span></span>.</samp></pre
81860 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="
81880 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 61 79 73 2d 61 6e 64 2d Type-Coercion-Slices-Arrays-and-
818a0 50 6f 69 6e 74 65 72 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 Pointers"><a.href="#toc-Type-Coe
818c0 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 61 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 rcion-Slices-Arrays-and-Pointers
818e0 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 53 6c 69 63 65 73 2c 20 41 72 72 61 79 73 20 ">Type.Coercion:.Slices,.Arrays.
81900 61 6e 64 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 and.Pointers</a>.<a.class="hdr".
81920 68 72 65 66 3d 22 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 href="#Type-Coercion-Slices-Arra
81940 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 ys-and-Pointers">..</a></h4>....
81960 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
81980 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 6f 65 72 63 ig-cap"><cite.class="file">coerc
819a0 65 5f 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 74 72 73 2e 7a 69 67 3c 2f 63 e__slices_arrays_and_ptrs.zig</c
819c0 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
819e0 6e 20 63 6c 61 73 73 3d 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-
81a00 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
81a20 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>(
81a40 3c 73 70 61 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&
81a60 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
81a80 73 3d 22 6c 69 6e 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
81aa0 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.
81ac0 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
81ae0 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
81b00 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
81b20 6e 20 61 73 73 69 67 6e 20 63 6f 6e 73 74 61 6e 74 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 61 72 n.assign.constant.pointers.to.ar
81b40 72 61 79 73 20 74 6f 20 61 20 73 6c 69 63 65 20 77 69 74 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 rays.to.a.slice.with</span></spa
81b60 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
81b80 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6e 73 74 20 6d 6f 64 69 66 69 65 s="tok-comment">//.const.modifie
81ba0 72 20 6f 6e 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 2e 20 55 73 65 66 75 6c 20 69 6e r.on.the.element.type..Useful.in
81bc0 20 70 61 72 74 69 63 75 6c 61 72 20 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 .particular.for</span></span>.<s
81be0 70 61 6e 20 63 6c 61 73 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
81c00 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 2e 3c 2f k-comment">//.String.literals.</
81c20 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">
81c40 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>
81c60 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 2a 63 6f .<span.class="tok-str">&quot;*co
81c80 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 nst.[N]T.to.[]const.T&quot;</spa
81ca0 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">.
81cc0 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
81ce0 6e 3e 20 78 31 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 n>.x1:.[]<span.class="tok-kw">co
81d00 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
81d20 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
81d40 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 2f 73 tr">&quot;hello&quot;</span>;</s
81d60 70 61 6e 3e 0a 3c 73 70 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
81d80 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 32 3a 20 n.class="tok-kw">var</span>.x2:.
81da0 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
81dc0 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
81de0 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
81e00 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-
81e20 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
81e40 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="
81e60 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
81e80 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
81ea0 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
81ec0 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>.};<
81ee0 2f 73 70 61 6e 3e 0a 3c 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
81f00 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
81f20 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
81f40 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 78 31 2c 20 78 32 29 29 3b 3c 2f 73 70 k-type">u8</span>,.x1,.x2));</sp
81f60 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>.<
81f80 73 70 61 6e 20 63 6c 61 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
81fa0 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 5b 5d 3c 73 70 61 6e s="tok-kw">var</span>.y:.[]<span
81fc0 20 63 6c 61 73 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
81fe0 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>.=
82000 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 72 22 3e .&amp;[<span.class="tok-number">
82020 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 70 65 22 3e 2</span>]<span.class="tok-type">
82040 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
82060 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 3d 22 74 6f ber">1.2</span>,.<span.class="to
82080 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 6e 3e 0a 3c k-number">3.4</span>.};</span>.<
820a0 73 70 61 6e 20 63 6c 61 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
820c0 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 5b 3c s="tok-kw">try</span>.expect(y[<
820e0 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>
82100 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 31 2e ].==.<span.class="tok-number">1.
82120 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
82140 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"
82160 3e 3c 2f 73 70 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
82180 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 65 77 69 73 n.class="tok-comment">//.Likewis
821a0 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 74 69 6f 6e e,.it.works.when.the.destination
821c0 20 74 79 70 65 20 69 73 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c .type.is.an.error.union.</span><
821e0 2f 73 70 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.
82200 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
82220 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 20 5b 4e .class="tok-str">&quot;*const.[N
82240 5d 54 20 74 6f 20 45 21 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b ]T.to.E![]const.T&quot;</span>.{
82260 3c 2f 73 70 61 6e 3e 0a 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">....<
82280 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
822a0 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 61 6e 79 65 72 72 1:.<span.class="tok-type">anyerr
822c0 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 or</span>![]<span.class="tok-kw"
822e0 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 74 >const</span>.<span.class="tok-t
82300 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">u8</span>.=.<span.class="to
82320 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>;
82340 3c 2f 73 70 61 6e 3e 0a 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">....<
82360 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
82380 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 2:.<span.class="tok-type">anyerr
823a0 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 or</span>![]<span.class="tok-kw"
823c0 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 74 >const</span>.<span.class="tok-t
823e0 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 ype">u8</span>.=.&amp;[<span.cla
82400 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
82420 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e lass="tok-type">u8</span>{.<span
82440 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
82460 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>,.<
82480 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c span.class="tok-str">'l'</span>,
824a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e .<span.class="tok-str">'l'</span
824c0 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 31 31 3c >,.<span.class="tok-number">111<
824e0 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
82500 6e 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
82520 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e </span>.expect(std.mem.eql(<span
82540 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 .class="tok-type">u8</span>,.<sp
82560 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 78 31 2c an.class="tok-kw">try</span>.x1,
82580 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>
825a0 20 78 32 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 .x2));</span>.<span.class="line"
825c0 3e 3c 2f 73 70 61 6e 3e 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">....
825e0 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>.
82600 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 y:.<span.class="tok-type">anyerr
82620 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 or</span>![]<span.class="tok-kw"
82640 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 74 >const</span>.<span.class="tok-t
82660 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 63 6c ype">f32</span>.=.&amp;[<span.cl
82680 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 6e 20 ass="tok-number">2</span>]<span.
826a0 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 70 class="tok-type">f32</span>{.<sp
826c0 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 6e 3e an.class="tok-number">1.2</span>
826e0 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 3c 2f ,.<span.class="tok-number">3.4</
82700 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
82720 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<
82740 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 2d /span>.expect((<span.class="tok-
82760 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 79 29 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">try</span>.y)[<span.class="t
82780 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
827a0 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
827c0 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>
827e0 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
82800 6e 20 63 6c 61 73 73 3d 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-
82820 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
82840 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 6f hen.the.destination.type.is.an.o
82860 70 74 69 6f 6e 61 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 ptional.</span></span>.<span.cla
82880 73 73 3d 22 6c 69 6e 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
828a0 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"
828c0 3e 26 71 75 6f 74 3b 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 3f 5b 5d 63 6f 6e 73 74 20 54 >&quot;*const.[N]T.to.?[]const.T
828e0 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
82900 73 73 3d 22 6c 69 6e 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
82920 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 31 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 w">var</span>.x1:.?[]<span.class
82940 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
82960 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 ss="tok-type">u8</span>.=.<span.
82980 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 74 class="tok-str">&quot;hello&quot
829a0 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 6c 69 ;</span>;</span>.<span.class="li
829c0 6e 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
829e0 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.x2:.?[]<span.class="tok-
82a00 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
82a20 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 3c 73 70 61 6e 20 k-type">u8</span>.=.&amp;[<span.
82a40 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
82a60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 n.class="tok-type">u8</span>{.<s
82a80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 pan.class="tok-str">'h'</span>,.
82aa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e <span.class="tok-str">'e'</span>
82ac0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 ,.<span.class="tok-str">'l'</spa
82ae0 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 n>,.<span.class="tok-str">'l'</s
82b00 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
82b20 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=
82b40 22 6c 69 6e 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">
82b60 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 try</span>.expect(std.mem.eql(<s
82b80 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>,.
82ba0 78 31 2e 3f 2c 20 78 32 2e 3f 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 x1.?,.x2.?));</span>.<span.class
82bc0 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
82be0 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<
82c00 2f 73 70 61 6e 3e 20 79 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.y:.?[]<span.class="tok-kw
82c20 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-
82c40 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 63 type">f32</span>.=.&amp;[<span.c
82c60 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 6e lass="tok-number">2</span>]<span
82c80 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
82ca0 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 6e pan.class="tok-number">1.2</span
82cc0 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 3c >,.<span.class="tok-number">3.4<
82ce0 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
82d00 6e 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
82d20 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 2e 3f 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>.expect(y.?[<span.class="
82d40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 tok-number">0</span>].==.<span.c
82d60 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 6e 3e 29 3b 3c 2f lass="tok-number">1.2</span>);</
82d80 73 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
82da0 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
82dc0 61 6e 20 63 6c 61 73 73 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
82de0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 20 74 68 69 73 20 63 61 73 74 2c 20 74 68 65 20 61 -comment">//.In.this.cast,.the.a
82e00 72 72 61 79 20 6c 65 6e 67 74 68 20 62 65 63 6f 6d 65 73 20 74 68 65 20 73 6c 69 63 65 20 6c 65 rray.length.becomes.the.slice.le
82e20 6e 67 74 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 ngth.</span></span>.<span.class=
82e40 22 6c 69 6e 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
82e60 3c 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
82e80 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 5b 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c uot;*[N]T.to.[]T&quot;</span>.{<
82ea0 2f 73 70 61 6e 3e 0a 3c 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
82ec0 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 75 pan.class="tok-kw">var</span>.bu
82ee0 66 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f f:.[<span.class="tok-number">5</
82f00 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<
82f20 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 /span>.=.<span.class="tok-str">&
82f40 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e quot;hello&quot;</span>.*;</span
82f60 3e 0a 3c 73 70 61 6e 20 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
82f80 6c 61 73 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 5b 5d lass="tok-kw">const</span>.x:.[]
82fa0 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>
82fc0 20 3d 20 26 61 6d 70 3b 62 75 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .=.&amp;buf;</span>.<span.class=
82fe0 22 6c 69 6e 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">
83000 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 try</span>.expect(std.mem.eql(<s
83020 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>,.
83040 78 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 x,.<span.class="tok-str">&quot;h
83060 65 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 ello&quot;</span>));</span>.<spa
83080 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
830a0 73 73 3d 22 6c 69 6e 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
830c0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 66 32 20 3d 20 5b 3c 73 70 61 6e 20 63 6c w">const</span>.buf2.=.[<span.cl
830e0 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 6e 20 ass="tok-number">2</span>]<span.
83100 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 70 class="tok-type">f32</span>{.<sp
83120 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 6e 3e an.class="tok-number">1.2</span>
83140 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 3c 2f ,.<span.class="tok-number">3.4</
83160 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
83180 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
831a0 74 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d t</span>.x2:.[]<span.class="tok-
831c0 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
831e0 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 62 75 66 32 3b 3c k-type">f32</span>.=.&amp;buf2;<
83200 2f 73 70 61 6e 3e 0a 3c 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
83220 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
83240 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
83260 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 78 32 2c 20 26 61 6d 70 3b 5b 3c 73 k-type">f32</span>,.x2,.&amp;[<s
83280 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>]
832a0 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
832c0 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c >{.<span.class="tok-number">1.2<
832e0 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"
83300 3e 33 2e 34 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 >3.4</span>.}));</span>.<span.cl
83320 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=
83340 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
83360 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 53 "><span.class="tok-comment">//.S
83380 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 61 72 72 61 79 73 20 63 61 ingle-item.pointers.to.arrays.ca
833a0 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 n.be.coerced.to.many-item.pointe
833c0 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 3d 22 6c rs.</span></span>.<span.class="l
833e0 69 6e 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</
83400 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
83420 74 3b 2a 5b 4e 5d 54 20 74 6f 20 5b 2a 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f t;*[N]T.to.[*]T&quot;</span>.{</
83440 73 70 61 6e 3e 0a 3c 73 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
83460 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 75 66 an.class="tok-kw">var</span>.buf
83480 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 35 3c 2f 73 :.[<span.class="tok-number">5</s
834a0 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f pan>]<span.class="tok-type">u8</
834c0 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 span>.=.<span.class="tok-str">&q
834e0 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e uot;hello&quot;</span>.*;</span>
83500 0a 3c 73 70 61 6e 20 63 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
83520 61 73 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 5b 2a 5d ass="tok-kw">const</span>.x:.[*]
83540 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>
83560 20 3d 20 26 61 6d 70 3b 62 75 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .=.&amp;buf;</span>.<span.class=
83580 22 6c 69 6e 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">
835a0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d try</span>.expect(x[<span.class=
835c0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 "tok-number">4</span>].==.<span.
835e0 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 29 3b 3c 2f 73 70 class="tok-str">'o'</span>);</sp
83600 61 6e 3e 0a 3c 73 70 61 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
83620 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 5b 35 5d 20 77 6f 75 .class="tok-comment">//.x[5].wou
83640 6c 64 20 62 65 20 61 6e 20 75 6e 63 61 75 67 68 74 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 20 ld.be.an.uncaught.out.of.bounds.
83660 70 6f 69 6e 74 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 21 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 pointer.dereference!</span></spa
83680 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>.<
836a0 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.
836c0 63 6c 61 73 73 3d 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
836e0 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 68 65 mment">//.Likewise,.it.works.whe
83700 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 6f 70 74 n.the.destination.type.is.an.opt
83720 69 6f 6e 61 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 ional.</span></span>.<span.class
83740 3d 22 6c 69 6e 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
83760 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">&
83780 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 3f 5b 2a 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e quot;*[N]T.to.?[*]T&quot;</span>
837a0 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">...
837c0 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>
837e0 20 62 75 66 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e .buf:.[<span.class="tok-number">
83800 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 5</span>]<span.class="tok-type">
83820 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 72 u8</span>.=.<span.class="tok-str
83840 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 ">&quot;hello&quot;</span>.*;</s
83860 70 61 6e 3e 0a 3c 73 70 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
83880 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a n.class="tok-kw">const</span>.x:
838a0 20 3f 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f .?[*]<span.class="tok-type">u8</
838c0 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 span>.=.&amp;buf;</span>.<span.c
838e0 6c 61 73 73 3d 22 6c 69 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
83900 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 2e 3f 5b 3c 73 70 61 6e -kw">try</span>.expect(x.?[<span
83920 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d 3d .class="tok-number">4</span>].==
83940 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e .<span.class="tok-str">'o'</span
83960 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">}<
83980 2f 73 70 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
839a0 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
839c0 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
839e0 69 6e 74 65 72 73 20 63 61 6e 20 62 65 20 63 61 73 74 20 74 6f 20 6c 65 6e 2d 31 20 73 69 6e 67 inters.can.be.cast.to.len-1.sing
83a00 6c 65 2d 69 74 65 6d 20 61 72 72 61 79 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 le-item.arrays.</span></span>.<s
83a20 70 61 6e 20 63 6c 61 73 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
83a40 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
83a60 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 54 20 74 6f 20 2a 5b 31 5d 54 26 71 75 6f 74 3b 3c ok-str">&quot;*T.to.*[1]T&quot;<
83a80 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
83aa0 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<
83ac0 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"
83ae0 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
83b00 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 6e umber">1234</span>;</span>.<span
83b20 20 63 6c 61 73 73 3d 22 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
83b40 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 2a 5b 3c 73 70 61 6e 20 63 ok-kw">const</span>.y:.*[<span.c
83b60 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 73 70 61 6e lass="tok-number">1</span>]<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 26 .class="tok-type">i32</span>.=.&
83ba0 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 69 6e 65 22 amp;x;</span>.<span.class="line"
83bc0 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<
83be0 2f 73 70 61 6e 3e 20 7a 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 /span>.z:.[*]<span.class="tok-ty
83c00 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pe">i32</span>.=.y;</span>.<span
83c20 20 63 6c 61 73 73 3d 22 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
83c40 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 7a 5b 3c 73 70 61 6e ok-kw">try</span>.expect(z[<span
83c60 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>].==
83c80 20 3c 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</
83ca0 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
83cc0 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>
83ce0 3c 66 69 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
83d00 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
83d20 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 mp><span.class="line">$.<kbd>zig
83d40 20 74 65 73 74 20 63 6f 65 72 63 65 5f 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f .test.coerce__slices_arrays_and_
83d60 70 74 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ptrs.zig</kbd></span>.<span.clas
83d80 73 3d 22 6c 69 6e 65 22 3e 31 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 2a 63 6f 6e 73 74 20 5b s="line">1/7.test.&quot;*const.[
83da0 4e 5d 54 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 N]T.to.[]const.T&quot;....OK</sp
83dc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 37 20 74 65 73 74 20 an>.<span.class="line">2/7.test.
83de0 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 73 74 20 54 &quot;*const.[N]T.to.E![]const.T
83e00 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
83e20 22 6c 69 6e 65 22 3e 33 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 2a 63 6f 6e 73 74 20 5b 4e 5d "line">3/7.test.&quot;*const.[N]
83e40 54 20 74 6f 20 3f 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 T.to.?[]const.T&quot;....OK</spa
83e60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 37 20 74 65 73 74 20 26 n>.<span.class="line">4/7.test.&
83e80 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 5b 5d 54 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 quot;*[N]T.to.[]T&quot;....OK</s
83ea0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 35 2f 37 20 74 65 73 74 pan>.<span.class="line">5/7.test
83ec0 20 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 5b 2a 5d 54 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b .&quot;*[N]T.to.[*]T&quot;....OK
83ee0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 36 2f 37 20 74 </span>.<span.class="line">6/7.t
83f00 65 73 74 20 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 3f 5b 2a 5d 54 26 71 75 6f 74 3b 2e 2e est.&quot;*[N]T.to.?[*]T&quot;..
83f20 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 37 ..OK</span>.<span.class="line">7
83f40 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 2a 54 20 74 6f 20 2a 5b 31 5d 54 26 71 75 6f 74 3b 2e /7.test.&quot;*T.to.*[1]T&quot;.
83f60 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...OK</span>.<span.class="line">
83f80 41 6c 6c 20 37 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d All.7.tests.passed.</span>.</sam
83fa0 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
83fc0 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 lso:</p><ul>.<li><a.href="#C-Poi
83fe0 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 3e nters">C.Pointers</a></li>.</ul>
84000 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 2d 43 6f 65 72 ...............<h4.id="Type-Coer
84020 63 69 6f 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 cion-Optionals"><a.href="#toc-Ty
84040 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 54 79 70 65 20 43 6f 65 72 pe-Coercion-Optionals">Type.Coer
84060 63 69 6f 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 cion:.Optionals</a>.<a.class="hd
84080 72 22 20 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 r".href="#Type-Coercion-Optional
840a0 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>.......
840c0 54 68 65 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 The.payload.type.of.<a.href="#Op
840e0 74 69 6f 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 tionals">Optionals</a>,.as.well.
84100 61 73 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 2c 20 63 6f 65 as.<a.href="#null">null</a>,.coe
84120 72 63 65 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 rce.to.the.optional.type........
84140 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
84160 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
84180 22 3e 74 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 ">test_coerce_optionals.zig</cit
841a0 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.
841c0 63 6c 61 73 73 3d 22 6c 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
841e0 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
84200 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
84220 70 61 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
84240 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=
84260 22 6c 69 6e 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
84280 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
842a0 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">
842c0 3c 2f 73 70 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
842e0 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
84300 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 n.class="tok-str">&quot;coerce.t
84320 6f 20 6f 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 o.optionals&quot;</span>.{</span
84340 3e 0a 3c 73 70 61 6e 20 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
84360 6c 61 73 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 lass="tok-kw">const</span>.x:.?<
84380 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>
843a0 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
843c0 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
843e0 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
84400 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 t</span>.y:.?<span.class="tok-ty
84420 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
84440 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 3c 73 70 61 k-null">null</span>;</span>.<spa
84460 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
84480 73 73 3d 22 6c 69 6e 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
844a0 77 22 3e 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 w">try</span>.expect(x.?.==.<spa
844c0 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>
844e0 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">...
84500 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>
84520 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 2d 6e 75 .expect(y.==.<span.class="tok-nu
84540 6c 6c 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 ll">null</span>);</span>.<span.c
84560 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
84580 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
845a0 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
845c0 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
845e0 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 74 69 $.<kbd>zig.test.test_coerce_opti
84600 6f 6e 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 onals.zig</kbd></span>.<span.cla
84620 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 ss="line">1/1.test.&quot;coerce.
84640 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a to.optionals&quot;....OK</span>.
84660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 <span.class="line">All.1.tests.p
84680 61 73 73 65 64 2e 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 assed.</span>.</samp></pre></fig
846a0 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 20 69 6e ure>.......<p>It.works.nested.in
846c0 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 6e 2d 54 side.the.<a.href="#Error-Union-T
846e0 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 6f 3a 3c ype">Error.Union.Type</a>,.too:<
84700 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
84720 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"
84740 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 5f 65 72 >test_coerce_optional_wrapped_er
84760 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 69 6f 6e ror_union.zig</cite></figcaption
84780 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"><
847a0 73 70 61 6e 20 63 6c 61 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>
847c0 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"
847e0 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
84800 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>);</
84820 73 70 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
84840 6c 61 73 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
84860 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>.<
84880 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.
848a0 63 6c 61 73 73 3d 22 6c 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
848c0 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
848e0 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 20 77 72 tr">&quot;coerce.to.optionals.wr
84900 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 70 61 6e apped.in.error.union&quot;</span
84920 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">..
84940 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
84960 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 61 6e an>.x:.<span.class="tok-type">an
84980 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 6f 6b 2d yerror</span>!?<span.class="tok-
849a0 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="
849c0 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>.
849e0 3c 73 70 61 6e 20 63 6c 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
84a00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 ss="tok-kw">const</span>.y:.<spa
84a20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 n.class="tok-type">anyerror</spa
84a40 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f n>!?<span.class="tok-type">i32</
84a60 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e span>.=.<span.class="tok-null">n
84a80 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 73 3d 22 ull</span>;</span>.<span.class="
84aa0 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"
84ac0 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
84ae0 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 pan>.expect((<span.class="tok-kw
84b00 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 61 73 73 ">try</span>.x).?.==.<span.class
84b20 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 61 ="tok-number">1234</span>);</spa
84b40 6e 3e 0a 3c 73 70 61 6e 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.
84b60 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
84b80 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
84ba0 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 22 3e 6e >.y).==.<span.class="tok-null">n
84bc0 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=
84be0 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
84c00 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="
84c20 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
84c40 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
84c60 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 74 69 6f 6e 61 6c 5f d>zig.test.test_coerce_optional_
84c80 77 72 61 70 70 65 64 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 wrapped_error_union.zig</kbd></s
84ca0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 pan>.<span.class="line">1/1.test
84cc0 20 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 20 77 72 61 70 70 .&quot;coerce.to.optionals.wrapp
84ce0 65 64 20 69 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 ed.in.error.union&quot;....OK</s
84d00 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 6c 6c 20 31 20 74 65 pan>.<span.class="line">All.1.te
84d20 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e sts.passed.</span>.</samp></pre>
84d40 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 </figure>..............<h4.id="T
84d60 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 3c 61 20 68 72 ype-Coercion-Error-Unions"><a.hr
84d80 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 ef="#toc-Type-Coercion-Error-Uni
84da0 6f 6e 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 ons">Type.Coercion:.Error.Unions
84dc0 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d </a>.<a.class="hdr".href="#Type-
84de0 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 Coercion-Error-Unions">..</a></h
84e00 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 70 61 79 6c 6f 61 64 20 74 79 70 65 20 6f 66 4>........<p>The.payload.type.of
84e20 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e .an.<a.href="#Error-Union-Type">
84e40 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 20 61 73 20 77 65 6c 6c 20 61 73 20 Error.Union.Type</a>.as.well.as.
84e60 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 the.<a.href="#Error-Set-Type">Er
84e80 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 0a 20 20 20 20 20 20 63 6f 65 72 63 65 20 74 6f ror.Set.Type</a>.......coerce.to
84ea0 20 74 68 65 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 .the.error.union.type:.......</p
84ec0 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
84ee0 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
84f00 65 73 74 5f 63 6f 65 72 63 65 5f 74 6f 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 est_coerce_to_error_union.zig</c
84f20 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
84f40 6e 20 63 6c 61 73 73 3d 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-
84f60 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
84f80 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>(
84fa0 3c 73 70 61 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&
84fc0 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
84fe0 73 3d 22 6c 69 6e 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
85000 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.
85020 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
85040 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
85060 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
85080 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 pan.class="tok-str">&quot;coerci
850a0 6f 6e 20 74 6f 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 on.to.error.unions&quot;</span>.
850c0 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">....
850e0 3c 73 70 61 6e 20 63 6c 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
85100 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 61 6e 79 65 >.x:.<span.class="tok-type">anye
85120 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 70 rror</span>!<span.class="tok-typ
85140 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
85160 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 70 -number">1234</span>;</span>.<sp
85180 61 6e 20 63 6c 61 73 73 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=
851a0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 "tok-kw">const</span>.y:.<span.c
851c0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 lass="tok-type">anyerror</span>!
851e0 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
85200 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 6f 72 3c 2f >.=.<span.class="tok-kw">error</
85220 73 70 61 6e 3e 2e 46 61 69 6c 75 72 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 span>.Failure;</span>.<span.clas
85240 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
85260 6e 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
85280 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
852a0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">try</span>.x).==.<span.clas
852c0 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
852e0 61 6e 3e 0a 3c 73 70 61 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
85300 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
85320 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 esting.expectError(<span.class="
85340 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 61 69 6c 75 72 65 2c 20 79 29 tok-kw">error</span>.Failure,.y)
85360 3b 3c 2f 73 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
85380 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
853a0 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">
853c0 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 3c 73 70 Shell</figcaption><pre><samp><sp
853e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 an.class="line">$.<kbd>zig.test.
85400 74 65 73 74 5f 63 6f 65 72 63 65 5f 74 6f 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f test_coerce_to_error_union.zig</
85420 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 kbd></span>.<span.class="line">1
85440 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 74 6f 20 65 72 72 6f 72 20 /1.test.&quot;coercion.to.error.
85460 75 6e 69 6f 6e 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 unions&quot;....OK</span>.<span.
85480 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e class="line">All.1.tests.passed.
854a0 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
854c0 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
854e0 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 3e 3c 61 n-Compile-Time-Known-Numbers"><a
85500 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 43 6f 6d 70 69 6c .href="#toc-Type-Coercion-Compil
85520 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 6f 65 72 63 e-Time-Known-Numbers">Type.Coerc
85540 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 65 72 73 3c ion:.Compile-Time.Known.Numbers<
85560 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
85580 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 65 oercion-Compile-Time-Known-Numbe
855a0 72 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 57 68 65 6e 20 61 rs">..</a></h4>........<p>When.a
855c0 20 6e 75 6d 62 65 72 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 .number.is.<a.href="#comptime">c
855e0 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 72 65 70 72 65 73 65 6e omptime</a>-known.to.be.represen
85600 74 61 62 6c 65 20 69 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 0a 20 table.in.the.destination.type,..
85620 20 20 20 20 20 69 74 20 6d 61 79 20 62 65 20 63 6f 65 72 63 65 64 3a 0a 20 20 20 20 20 20 3c 2f .....it.may.be.coerced:.......</
85640 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
85660 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">
85680 74 65 73 74 5f 63 6f 65 72 63 65 5f 6c 61 72 67 65 5f 74 6f 5f 73 6d 61 6c 6c 2e 7a 69 67 3c 2f test_coerce_large_to_small.zig</
856a0 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
856c0 61 6e 20 63 6c 61 73 73 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
856e0 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
85700 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>
85720 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
85740 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
85760 73 73 3d 22 6c 69 6e 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
85780 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
857a0 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
857c0 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
857e0 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>.<
85800 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 span.class="tok-str">&quot;coerc
85820 69 6e 67 20 6c 61 72 67 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 74 6f 20 73 6d 61 6c 6c 65 ing.large.integer.type.to.smalle
85840 72 20 6f 6e 65 20 77 68 65 6e 20 76 61 6c 75 65 20 69 73 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f r.one.when.value.is.comptime.kno
85860 77 6e 20 74 6f 20 66 69 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a wn.to.fit&quot;</span>.{</span>.
85880 3c 73 70 61 6e 20 63 6c 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
858a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 ss="tok-kw">const</span>.x:.<spa
858c0 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 3d 20 n.class="tok-type">u64</span>.=.
858e0 3c 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 <span.class="tok-number">255</sp
85900 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">.
85920 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
85940 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 pan>.y:.<span.class="tok-type">u
85960 38 3c 2f 73 70 61 6e 3e 20 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 8</span>.=.x;</span>.<span.class
85980 3d 22 6c 69 6e 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"
859a0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c >try</span>.expect(y.==.<span.cl
859c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 ass="tok-number">255</span>);</s
859e0 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>
85a00 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
85a20 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
85a40 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 3c 73 70 61 6e 20 63 l</figcaption><pre><samp><span.c
85a60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 lass="line">$.<kbd>zig.test.test
85a80 5f 63 6f 65 72 63 65 5f 6c 61 72 67 65 5f 74 6f 5f 73 6d 61 6c 6c 2e 7a 69 67 3c 2f 6b 62 64 3e _coerce_large_to_small.zig</kbd>
85aa0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 </span>.<span.class="line">1/1.t
85ac0 65 73 74 20 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 est.&quot;coercing.large.integer
85ae0 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.
85b00 69 73 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 20 74 6f 20 66 69 74 26 71 75 6f 74 3b 2e 2e is.comptime.known.to.fit&quot;..
85b20 2e 20 4f 4b 3c 2f 73 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 ..OK</span>.<span.class="line">A
85b40 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 ll.1.tests.passed.</span>.</samp
85b60 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
85b80 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 69 6f 6e 73 2d 61 6e 64 2d 65 4.id="Type-Coercion-unions-and-e
85ba0 6e 75 6d 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 nums"><a.href="#toc-Type-Coercio
85bc0 6e 2d 75 6e 69 6f 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f n-unions-and-enums">Type.Coercio
85be0 6e 3a 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 n:.unions.and.enums</a>.<a.class
85c00 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 69 6f ="hdr".href="#Type-Coercion-unio
85c20 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 ns-and-enums">..</a></h4>.......
85c40 20 3c 70 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 73 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 .<p>Tagged.unions.can.be.coerced
85c60 20 74 6f 20 65 6e 75 6d 73 2c 20 61 6e 64 20 65 6e 75 6d 73 20 63 61 6e 20 62 65 20 63 6f 65 72 .to.enums,.and.enums.can.be.coer
85c80 63 65 64 20 74 6f 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 73 0a 20 20 20 20 20 20 77 68 65 6e 20 ced.to.tagged.unions.......when.
85ca0 74 68 65 79 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 they.are.<a.href="#comptime">com
85cc0 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 61 20 66 69 65 6c 64 20 6f 66 ptime</a>-known.to.be.a.field.of
85ce0 20 74 68 65 20 75 6e 69 6f 6e 20 74 68 61 74 20 68 61 73 20 6f 6e 6c 79 20 6f 6e 65 20 70 6f 73 .the.union.that.has.only.one.pos
85d00 73 69 62 6c 65 20 76 61 6c 75 65 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 61 20 68 72 sible.value,.such.as.......<a.hr
85d20 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ef="#void">void</a>:.......</p>.
85d40 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=
85d60 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
85d80 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 63 69 74 65 3e t_coerce_unions_enums.zig</cite>
85da0 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
85dc0 61 73 73 3d 22 6c 69 6e 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">
85de0 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="
85e00 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
85e20 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
85e40 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
85e60 69 6e 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<
85e80 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
85ea0 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"></
85ec0 73 70 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
85ee0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 20 3d 20 3c lass="tok-kw">const</span>.E.=.<
85f00 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>.
85f20 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">....
85f40 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">.
85f60 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
85f80 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 6c 61 73 73 3d ">....three,</span>.<span.class=
85fa0 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 69 "line">};</span>.<span.class="li
85fc0 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"><
85fe0 73 70 61 6e 20 63 6c 61 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>
86000 20 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 .U.=.<span.class="tok-kw">union<
86020 2f 73 70 61 6e 3e 28 45 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>(E).{</span>.<span.class="
86040 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d line">....one:.<span.class="tok-
86060 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
86080 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 77 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">....two:.<span.class
860a0 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>.<
860c0 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 2c 3c 2f 73 70 span.class="line">....three,</sp
860e0 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>
86100 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
86120 6e 20 63 6c 61 73 73 3d 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-
86140 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
86160 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 69 -str">&quot;coercion.between.uni
86180 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 70 ons.and.enums&quot;</span>.{</sp
861a0 61 6e 3e 0a 3c 73 70 61 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
861c0 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 55 .class="tok-kw">var</span>.u.=.U
861e0 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 72 {..two.=.<span.class="tok-number
86200 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 63 ">12.34</span>.};</span>.<span.c
86220 6c 61 73 73 3d 22 6c 69 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
86240 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 3c 2f 73 70 61 6e 3e -kw">var</span>.e:.E.=.u;</span>
86260 0a 3c 73 70 61 6e 20 63 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
86280 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
862a0 20 3d 3d 20 45 2e 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 .==.E.two);</span>.<span.class="
862c0 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"
862e0 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<
86300 2f 73 70 61 6e 3e 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 /span>.three.=.E.three;</span>.<
86320 73 70 61 6e 20 63 6c 61 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
86340 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 68 65 72 5f 75 3a s="tok-kw">var</span>.another_u:
86360 20 55 20 3d 20 74 68 72 65 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .U.=.three;</span>.<span.class="
86380 6c 69 6e 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
863a0 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 6e 6f 74 68 65 72 5f 75 20 3d 3d 20 45 2e ry</span>.expect(another_u.==.E.
863c0 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 73 3d 22 6c 69 6e 65 three);</span>.<span.class="line
863e0 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>
86400 3c 66 69 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
86420 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
86440 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 mp><span.class="line">$.<kbd>zig
86460 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 75 6e 69 6f 6e 73 5f 65 6e 75 6d 73 2e 7a .test.test_coerce_unions_enums.z
86480 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
864a0 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 62 65 74 77 65 e">1/1.test.&quot;coercion.betwe
864c0 65 6e 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c en.unions.and.enums&quot;....OK<
864e0 2f 73 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 6c 6c 20 31 20 /span>.<span.class="line">All.1.
86500 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 tests.passed.</span>.</samp></pr
86520 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:</
86540 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f p><ul>.<li><a.href="#union">unio
86560 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 65 6e 75 6d 22 3e 65 n</a></li>.<li><a.href="#enum">e
86580 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 20 20 20 20 20 num</a></li>.</ul>..............
865a0 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 5a 65 72 6f 2d 42 69 74 2d .<h4.id="Type-Coercion-Zero-Bit-
865c0 54 79 70 65 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 Types"><a.href="#toc-Type-Coerci
865e0 6f 6e 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e on-Zero-Bit-Types">Type.Coercion
86600 3a 20 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 :.Zero.Bit.Types</a>.<a.class="h
86620 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 5a 65 72 6f 2d 42 69 dr".href="#Type-Coercion-Zero-Bi
86640 74 2d 54 79 70 65 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 3c t-Types">..</a></h4>........<p><
86660 61 20 68 72 65 66 3d 22 23 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 5a 65 72 6f 20 42 69 a.href="#Zero-Bit-Types">Zero.Bi
86680 74 20 54 79 70 65 73 3c 2f 61 3e 20 6d 61 79 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 73 69 t.Types</a>.may.be.coerced.to.si
866a0 6e 67 6c 65 2d 69 74 65 6d 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f ngle-item.<a.href="#Pointers">Po
866c0 69 6e 74 65 72 73 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 inters</a>,.......regardless.of.
866e0 63 6f 6e 73 74 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 20 64 6f 63 75 6d 65 6e const.</p>.......<p>TODO.documen
86700 74 20 74 68 65 20 72 65 61 73 6f 6e 69 6e 67 20 66 6f 72 20 74 68 69 73 3c 2f 70 3e 0a 20 20 20 t.the.reasoning.for.this</p>....
86720 20 20 20 3c 70 3e 54 4f 44 4f 20 64 6f 63 75 6d 65 6e 74 20 77 68 65 74 68 65 72 20 76 69 63 65 ...<p>TODO.document.whether.vice
86740 20 76 65 72 73 61 20 73 68 6f 75 6c 64 20 77 6f 72 6b 20 61 6e 64 20 77 68 79 3c 2f 70 3e 0a 20 .versa.should.work.and.why</p>..
86760 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="
86780 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 6f 65 72 zig-cap"><cite.class="file">coer
867a0 63 65 5f 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 ce_zero_bit_types.zig</cite></fi
867c0 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=
867e0 22 6c 69 6e 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
86800 3c 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
86820 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 6f 66 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 73 26 71 uot;coercion.of.zero.bit.types&q
86840 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
86860 3d 22 6c 69 6e 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"
86880 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 2d >var</span>.x:.<span.class="tok-
868a0 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 3e 0a 3c type">void</span>.=.{};</span>.<
868c0 73 70 61 6e 20 63 6c 61 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
868e0 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 2a 3c 73 70 61 6e 20 s="tok-kw">var</span>.y:.*<span.
86900 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 20 78 class="tok-type">void</span>.=.x
86920 3b 3c 2f 73 70 61 6e 3e 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">....
86940 5f 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"
86960 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><
86980 66 69 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-
869a0 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
869c0 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
869e0 74 65 73 74 20 63 6f 65 72 63 65 5f 7a 65 72 6f 5f 62 69 74 5f 74 79 70 65 73 2e 7a 69 67 3c 2f test.coerce_zero_bit_types.zig</
86a00 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 kbd></span>.<span.class="line">1
86a20 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 6f 66 20 7a 65 72 6f 20 62 /1.test.&quot;coercion.of.zero.b
86a40 69 74 20 74 79 70 65 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 it.types&quot;....OK</span>.<spa
86a60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 n.class="line">All.1.tests.passe
86a80 64 2e 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 d.</span>.</samp></pre></figure>
86aa0 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 6f 65 72 63 ..............<h4.id="Type-Coerc
86ac0 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 6f 63 2d 54 79 70 ion-undefined"><a.href="#toc-Typ
86ae0 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e 54 79 70 65 20 43 6f 65 72 63 e-Coercion-undefined">Type.Coerc
86b00 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 73 3d 22 68 64 72 ion:.undefined</a>.<a.class="hdr
86b20 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 65 66 69 6e 65 64 ".href="#Type-Coercion-undefined
86b40 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 20 68 72 65 66 3d ">..</a></h4>........<p><a.href=
86b60 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 63 61 6e 20 62 "#undefined">undefined</a>.can.b
86b80 65 20 63 61 73 74 20 74 6f 20 61 6e 79 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 e.cast.to.any.type.</p>.........
86ba0 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 70 6c 69 63 69 74 2d 43 61 .............<h3.id="Explicit-Ca
86bc0 73 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 70 6c 69 63 69 74 2d 43 61 73 74 sts"><a.href="#toc-Explicit-Cast
86be0 73 22 3e 45 78 70 6c 69 63 69 74 20 43 61 73 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 s">Explicit.Casts</a>.<a.class="
86c00 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 70 6c 69 63 69 74 2d 43 61 73 74 73 22 3e c2 a7 3c 2f hdr".href="#Explicit-Casts">..</
86c20 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 70 6c 69 63 69 a></h3>........<p>.......Explici
86c40 74 20 63 61 73 74 73 20 61 72 65 20 70 65 72 66 6f 72 6d 65 64 20 76 69 61 20 3c 61 20 68 72 65 t.casts.are.performed.via.<a.hre
86c60 66 3d 22 23 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 46 f="#Builtin-Functions">Builtin.F
86c80 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 53 6f 6d 65 20 65 78 70 6c 69 63 69 unctions</a>........Some.explici
86ca0 74 20 63 61 73 74 73 20 61 72 65 20 73 61 66 65 3b 20 73 6f 6d 65 20 61 72 65 20 6e 6f 74 2e 0a t.casts.are.safe;.some.are.not..
86cc0 20 20 20 20 20 20 53 6f 6d 65 20 65 78 70 6c 69 63 69 74 20 63 61 73 74 73 20 70 65 72 66 6f 72 ......Some.explicit.casts.perfor
86ce0 6d 20 6c 61 6e 67 75 61 67 65 2d 6c 65 76 65 6c 20 61 73 73 65 72 74 69 6f 6e 73 3b 20 73 6f 6d m.language-level.assertions;.som
86d00 65 20 64 6f 20 6e 6f 74 2e 0a 20 20 20 20 20 20 53 6f 6d 65 20 65 78 70 6c 69 63 69 74 20 63 61 e.do.not........Some.explicit.ca
86d20 73 74 73 20 61 72 65 20 6e 6f 2d 6f 70 73 20 61 74 20 72 75 6e 74 69 6d 65 3b 20 73 6f 6d 65 20 sts.are.no-ops.at.runtime;.some.
86d40 61 72 65 20 6e 6f 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 are.not........</p>.......<ul>..
86d60 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 69 74 43 61 73 74 22 3e .........<li><a.href="#bitCast">
86d80 40 62 69 74 43 61 73 74 3c 2f 61 3e 20 2d 20 63 68 61 6e 67 65 20 74 79 70 65 20 62 75 74 20 6d @bitCast</a>.-.change.type.but.m
86da0 61 69 6e 74 61 69 6e 20 62 69 74 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 3c 2f 6c 69 3e 0a aintain.bit.representation</li>.
86dc0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 ..........<li><a.href="#alignCas
86de0 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 20 2d 20 6d 61 6b 65 20 61 20 70 6f 69 6e 74 t">@alignCast</a>.-.make.a.point
86e00 65 72 20 68 61 76 65 20 6d 6f 72 65 20 61 6c 69 67 6e 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 er.have.more.alignment</li>.....
86e20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 6f 6f 6c 54 6f 49 6e 74 22 3e 40 ......<li><a.href="#boolToInt">@
86e40 62 6f 6f 6c 54 6f 49 6e 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 74 72 75 65 20 74 6f 20 boolToInt</a>.-.convert.true.to.
86e60 31 20 61 6e 64 20 66 61 6c 73 65 20 74 6f 20 30 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 1.and.false.to.0</li>...........
86e80 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 54 6f 49 6e 74 22 3e 40 65 6e 75 6d 54 6f <li><a.href="#enumToInt">@enumTo
86ea0 49 6e 74 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 61 67 Int</a>.-.obtain.the.integer.tag
86ec0 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 65 6e 75 6d 20 6f 72 20 74 61 67 67 65 64 20 75 6e 69 6f .value.of.an.enum.or.tagged.unio
86ee0 6e 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 n</li>...........<li><a.href="#e
86f00 72 72 53 65 74 43 61 73 74 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 61 3e 20 2d 20 63 6f 6e rrSetCast">@errSetCast</a>.-.con
86f20 76 65 72 74 20 74 6f 20 61 20 73 6d 61 6c 6c 65 72 20 65 72 72 6f 72 20 73 65 74 3c 2f 6c 69 3e vert.to.a.smaller.error.set</li>
86f40 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 72 72 6f 72 54 6f ...........<li><a.href="#errorTo
86f60 49 6e 74 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 74 68 Int">@errorToInt</a>.-.obtain.th
86f80 65 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 e.integer.value.of.an.error.code
86fa0 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 66 6c </li>...........<li><a.href="#fl
86fc0 6f 61 74 43 61 73 74 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 oatCast">@floatCast</a>.-.conver
86fe0 74 20 61 20 6c 61 72 67 65 72 20 66 6c 6f 61 74 20 74 6f 20 61 20 73 6d 61 6c 6c 65 72 20 66 6c t.a.larger.float.to.a.smaller.fl
87000 6f 61 74 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 oat</li>...........<li><a.href="
87020 23 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 74 54 6f 49 6e 74 3c 2f 61 3e 20 2d 20 6f #floatToInt">@floatToInt</a>.-.o
87040 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
87060 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
87080 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 20 2d 20 63 6f 6e ef="#intCast">@intCast</a>.-.con
870a0 76 65 72 74 20 62 65 74 77 65 65 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 73 3c 2f 6c 69 3e 0a vert.between.integer.types</li>.
870c0 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 54 6f 45 6e 75 ..........<li><a.href="#intToEnu
870e0 6d 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 61 6e 20 65 6e m">@intToEnum</a>.-.obtain.an.en
87100 75 6d 20 76 61 6c 75 65 20 62 61 73 65 64 20 6f 6e 20 69 74 73 20 69 6e 74 65 67 65 72 20 74 61 um.value.based.on.its.integer.ta
87120 67 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 g.value</li>...........<li><a.hr
87140 65 66 3d 22 23 69 6e 74 54 6f 45 72 72 6f 72 22 3e 40 69 6e 74 54 6f 45 72 72 6f 72 3c 2f 61 3e ef="#intToError">@intToError</a>
87160 20 2d 20 6f 62 74 61 69 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 20 62 61 73 65 64 20 6f 6e .-.obtain.an.error.code.based.on
87180 20 69 74 73 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 .its.integer.value</li>.........
871a0 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 46 6c 6f 61 74 22 3e 40 69 6e 74 ..<li><a.href="#intToFloat">@int
871c0 54 6f 46 6c 6f 61 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 ToFloat</a>.-.convert.an.integer
871e0 20 74 6f 20 61 20 66 6c 6f 61 74 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 .to.a.float.value</li>..........
87200 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 50 74 72 22 3e 40 69 6e 74 54 6f 50 .<li><a.href="#intToPtr">@intToP
87220 74 72 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 61 6e 20 61 64 64 72 65 73 73 20 74 6f 20 61 tr</a>.-.convert.an.address.to.a
87240 20 70 6f 69 6e 74 65 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 .pointer</li>...........<li><a.h
87260 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 20 2d 20 63 6f ref="#ptrCast">@ptrCast</a>.-.co
87280 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 3c 2f 6c 69 3e nvert.between.pointer.types</li>
872a0 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 54 6f 49 6e ...........<li><a.href="#ptrToIn
872c0 74 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 74 68 65 20 61 64 t">@ptrToInt</a>.-.obtain.the.ad
872e0 64 72 65 73 73 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 dress.of.a.pointer</li>.........
87300 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 ..<li><a.href="#truncate">@trunc
87320 61 74 65 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 69 6e 74 65 67 65 ate</a>.-.convert.between.intege
87340 72 20 74 79 70 65 73 2c 20 63 68 6f 70 70 69 6e 67 20 6f 66 66 20 62 69 74 73 3c 2f 6c 69 3e 0a r.types,.chopping.off.bits</li>.
87360 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 ......</ul>...............<h3.id
87380 3d 22 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d ="Peer-Type-Resolution"><a.href=
873a0 22 23 74 6f 63 2d 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 "#toc-Peer-Type-Resolution">Peer
873c0 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 .Type.Resolution</a>.<a.class="h
873e0 64 72 22 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 dr".href="#Peer-Type-Resolution"
87400 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 50 65 65 72 20 54 79 70 65 >..</a></h3>........<p>Peer.Type
87420 20 52 65 73 6f 6c 75 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 6e 20 74 68 65 73 65 20 70 6c 61 63 .Resolution.occurs.in.these.plac
87440 65 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c es:</p>.......<ul>.........<li><
87460 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 65 78 70 72 a.href="#switch">switch</a>.expr
87480 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 essions</li>.........<li><a.href
874a0 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 ="#if">if</a>.expressions</li>..
874c0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c .......<li><a.href="#while">whil
874e0 65 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c e</a>.expressions</li>.........<
87500 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 20 65 78 70 72 65 73 li><a.href="#for">for</a>.expres
87520 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 75 6c 74 69 70 6c 65 20 sions</li>.........<li>Multiple.
87540 62 72 65 61 6b 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6e 20 61 20 62 6c 6f 63 6b 3c 2f 6c 69 3e break.statements.in.a.block</li>
87560 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6f 6d 65 20 3c 61 20 68 72 65 66 3d 22 23 54 61 62 6c .........<li>Some.<a.href="#Tabl
87580 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e 62 69 6e 61 72 79 20 6f 70 65 72 61 74 69 6f 6e e-of-Operators">binary.operation
875a0 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e s</a></li>.......</ul>.......<p>
875c0 0a 20 20 20 20 20 20 54 68 69 73 20 6b 69 6e 64 20 6f 66 20 74 79 70 65 20 72 65 73 6f 6c 75 74 .......This.kind.of.type.resolut
875e0 69 6f 6e 20 63 68 6f 6f 73 65 73 20 61 20 74 79 70 65 20 74 68 61 74 20 61 6c 6c 20 70 65 65 72 ion.chooses.a.type.that.all.peer
87600 20 74 79 70 65 73 20 63 61 6e 20 63 6f 65 72 63 65 20 69 6e 74 6f 2e 20 48 65 72 65 20 61 72 65 .types.can.coerce.into..Here.are
87620 0a 20 20 20 20 20 20 73 6f 6d 65 20 65 78 61 6d 70 6c 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e .......some.examples:.......</p>
87640 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
87660 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
87680 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 3c 2f 66 er_type_resolution.zig</cite></f
876a0 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
876c0 3d 22 6c 69 6e 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
876e0 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
87700 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
87720 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;</
87740 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
87760 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
87780 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;
877a0 3c 2f 73 70 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
877c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d .class="tok-kw">const</span>.mem
877e0 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 73 3d 22 .=.std.mem;</span>.<span.class="
87800 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"
87820 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
87840 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 65 >.<span.class="tok-str">&quot;pe
87860 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 3c 2f 73 er.resolve.int.widening&quot;</s
87880 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"
878a0 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
878c0 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 69 pan>.a:.<span.class="tok-type">i
878e0 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 6d 62 8</span>.=.<span.class="tok-numb
87900 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 6c 61 73 er">12</span>;</span>.<span.clas
87920 73 3d 22 6c 69 6e 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
87940 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 6b ">var</span>.b:.<span.class="tok
87960 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 73 73 3d -type">i16</span>.=.<span.class=
87980 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 3e 0a 3c "tok-number">34</span>;</span>.<
879a0 73 70 61 6e 20 63 6c 61 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
879c0 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 20 62 3b s="tok-kw">var</span>.c.=.a.+.b;
879e0 3c 2f 73 70 61 6e 3e 0a 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">....<
87a00 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
87a20 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 75 6d 62 xpect(c.==.<span.class="tok-numb
87a40 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 63 6c 61 er">46</span>);</span>.<span.cla
87a60 73 73 3d 22 6c 69 6e 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
87a80 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
87aa0 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 63 29 ="tok-builtin">@TypeOf</span>(c)
87ac0 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 36 3c 2f .==.<span.class="tok-type">i16</
87ae0 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
87b00 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"></
87b20 73 70 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
87b40 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.
87b60 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c class="tok-str">&quot;peer.resol
87b80 76 65 20 61 72 72 61 79 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 73 69 7a 65 20 74 6f 20 63 ve.arrays.of.different.size.to.c
87ba0 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 61 6e 3e onst.slice&quot;</span>.{</span>
87bc0 0a 3c 73 70 61 6e 20 63 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
87be0 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
87c00 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
87c20 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 73 3d 22 </span>,.boolToStr(<span.class="
87c40 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 20 63 6c tok-null">true</span>),.<span.cl
87c60 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 3b 3c 2f ass="tok-str">&quot;true&quot;</
87c80 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
87ca0 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<
87cc0 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
87ce0 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 6f 53 74 s="tok-type">u8</span>,.boolToSt
87d00 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 65 3c 2f r(<span.class="tok-null">false</
87d20 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 3e 26 71 span>),.<span.class="tok-str">&q
87d40 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 61 6e 3e uot;false&quot;</span>));</span>
87d60 0a 3c 73 70 61 6e 20 63 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
87d80 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 3c 73 70 ass="tok-kw">comptime</span>.<sp
87da0 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
87dc0 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ect(mem.eql(<span.class="tok-typ
87de0 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 20 63 6c e">u8</span>,.boolToStr(<span.cl
87e00 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 3c 73 70 ass="tok-null">true</span>),.<sp
87e20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 75 65 26 71 75 an.class="tok-str">&quot;true&qu
87e40 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 73 ot;</span>));</span>.<span.class
87e60 3d 22 6c 69 6e 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"
87e80 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
87ea0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 k-kw">try</span>.expect(mem.eql(
87ec0 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>
87ee0 2c 20 62 6f 6f 6c 54 6f 53 74 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c ,.boolToStr(<span.class="tok-nul
87f00 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 3d 22 74 l">false</span>),.<span.class="t
87f20 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 61 6e 3e ok-str">&quot;false&quot;</span>
87f40 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">}<
87f60 2f 73 70 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.
87f80 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
87fa0 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 3e 28 62 lass="tok-fn">boolToStr</span>(b
87fc0 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
87fe0 70 61 6e 3e 29 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e pan>).[]<span.class="tok-kw">con
88000 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"
88020 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 73 73 3d >u8</span>.{</span>.<span.class=
88040 22 6c 69 6e 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">
88060 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
88080 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 22 74 6f w">if</span>.(b).<span.class="to
880a0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c k-str">&quot;true&quot;</span>.<
880c0 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>.
880e0 3c 73 70 61 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 61 6c 73 <span.class="tok-str">&quot;fals
88100 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 63 6c 61 e&quot;</span>;</span>.<span.cla
88120 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="
88140 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"
88160 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
88180 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 65 >.<span.class="tok-str">&quot;pe
881a0 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 69 63 65 er.resolve.array.and.const.slice
881c0 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
881e0 73 73 3d 22 6c 69 6e 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
88200 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 41 72 72 w">try</span>.testPeerResolveArr
88220 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 2d 6e 75 ayConstSlice(<span.class="tok-nu
88240 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 63 ll">true</span>);</span>.<span.c
88260 6c 61 73 73 3d 22 6c 69 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
88280 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">comptime</span>.<span.class
882a0 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 50 65 65 72 52 65 73 ="tok-kw">try</span>.testPeerRes
882c0 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 73 73 3d olveArrayConstSlice(<span.class=
882e0 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 0a "tok-null">true</span>);</span>.
88300 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
88320 6e 20 63 6c 61 73 73 3d 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-
88340 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
88360 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 6c 69 63 n">testPeerResolveArrayConstSlic
88380 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 74 79 70 e</span>(b:.<span.class="tok-typ
883a0 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 22 74 6f e">bool</span>).!<span.class="to
883c0 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
883e0 61 6e 20 63 6c 61 73 73 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=
88400 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 3d 20 3c "tok-kw">const</span>.value1.=.<
88420 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 62 span.class="tok-kw">if</span>.(b
88440 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 3b 61 6f ).<span.class="tok-str">&quot;ao
88460 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 74 6f 6b eu&quot;</span>.<span.class="tok
88480 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f -kw">else</span>.<span.class="to
884a0 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
884c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ass="tok-kw">const</span>.<span.
884e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 class="tok-type">u8</span>,.<spa
88500 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 6f 74 3b n.class="tok-str">&quot;zz&quot;
88520 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
88540 6e 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
88560 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 st</span>.value2.=.<span.class="
88580 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 70 61 6e 20 63 6c 61 73 tok-kw">if</span>.(b).<span.clas
885a0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 5b 5d 3c 73 70 s="tok-builtin">@as</span>([]<sp
885c0 61 6e 20 63 6c 61 73 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>.<
885e0 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>,
88600 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 7a 26 .<span.class="tok-str">&quot;zz&
88620 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b quot;</span>).<span.class="tok-k
88640 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d w">else</span>.<span.class="tok-
88660 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 3c 2f 73 str">&quot;aoeu&quot;</span>;</s
88680 70 61 6e 3e 0a 3c 73 70 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
886a0 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
886c0 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ct(mem.eql(<span.class="tok-type
886e0 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 61 73 73 ">u8</span>,.value1,.<span.class
88700 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 73 70 61 ="tok-str">&quot;aoeu&quot;</spa
88720 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">
88740 20 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
88760 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="
88780 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 3c 73 70 tok-type">u8</span>,.value2,.<sp
887a0 61 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 6f 74 an.class="tok-str">&quot;zz&quot
887c0 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="
887e0 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
88800 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
88820 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
88840 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 pan.class="tok-str">&quot;peer.t
88860 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 3f 54 20 61 6e 64 20 54 26 71 75 6f 74 3b 3c 2f ype.resolution:.?T.and.T&quot;</
88880 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
888a0 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</
888c0 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 6f 6e 61 span>.expect(peerTypeTAndOptiona
888e0 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 65 3c 2f lT(<span.class="tok-null">true</
88900 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 66 61 span>,.<span.class="tok-null">fa
88920 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 22 74 6f lse</span>).?.==.<span.class="to
88940 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 61 k-number">0</span>);</span>.<spa
88960 6e 20 63 6c 61 73 73 3d 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="
88980 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 79 tok-kw">try</span>.expect(peerTy
889a0 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 74 6f 6b peTAndOptionalT(<span.class="tok
889c0 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 61 73 73 -null">false</span>,.<span.class
889e0 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 3d 20 3c ="tok-null">false</span>).?.==.<
88a00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e span.class="tok-number">3</span>
88a20 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">...
88a40 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</
88a60 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
88a80 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 74 ">........<span.class="tok-kw">t
88aa0 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 65 72 54 79 70 65 54 41 6e 64 4f 70 74 ry</span>.expect(peerTypeTAndOpt
88ac0 69 6f 6e 61 6c 54 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 ionalT(<span.class="tok-null">tr
88ae0 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
88b00 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">false</span>).?.==.<span.class
88b20 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 0a ="tok-number">0</span>);</span>.
88b40 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
88b60 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
88b80 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 20 63 6c t(peerTypeTAndOptionalT(<span.cl
88ba0 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
88bc0 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>
88be0 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 72 22 3e ).?.==.<span.class="tok-number">
88c00 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 6c 3</span>);</span>.<span.class="l
88c20 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
88c40 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"
88c60 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>.
88c80 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 54 41 6e <span.class="tok-fn">peerTypeTAn
88ca0 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 61 73 73 dOptionalT</span>(c:.<span.class
88cc0 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 73 70 61 ="tok-type">bool</span>,.b:.<spa
88ce0 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>).
88d00 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 3c 2f 73 ?<span.class="tok-type">usize</s
88d20 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"
88d40 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
88d60 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 6c 69 an>.(c).{</span>.<span.class="li
88d80 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"
88da0 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-
88dc0 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 22 74 kw">if</span>.(b).<span.class="t
88de0 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 61 73 73 ok-null">null</span>.<span.class
88e00 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
88e20 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
88e40 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 20 .class="tok-type">usize</span>,.
88e60 3c 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
88e80 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">..
88ea0 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"></
88ec0 73 70 61 6e 3e 0a 3c 73 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
88ee0 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>.
88f00 3c 73 70 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
88f20 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 73 69 7a pan>(<span.class="tok-type">usiz
88f40 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 e</span>,.<span.class="tok-numbe
88f60 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
88f80 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
88fa0 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"><
88fc0 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>.
88fe0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 <span.class="tok-str">&quot;peer
89000 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 5d 75 38 20 61 6e 64 20 5b 5d 63 .type.resolution:.*[0]u8.and.[]c
89020 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
89040 70 61 6e 20 63 6c 61 73 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
89060 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 65 72 ="tok-kw">try</span>.expect(peer
89080 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 TypeEmptyArrayAndSlice(<span.cla
890a0 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 70 61 6e ss="tok-null">true</span>,.<span
890c0 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;<
890e0 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-
89100 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.
89120 63 6c 61 73 73 3d 22 6c 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
89140 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 79 70 65 k-kw">try</span>.expect(peerType
89160 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 73 3d 22 EmptyArrayAndSlice(<span.class="
89180 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
891a0 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 2f 73 70 ass="tok-str">&quot;hi&quot;</sp
891c0 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 6e 75 6d an>).len.==.<span.class="tok-num
891e0 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
89200 73 73 3d 22 6c 69 6e 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
89220 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
89240 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
89260 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 ss="tok-kw">try</span>.expect(pe
89280 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 63 erTypeEmptyArrayAndSlice(<span.c
892a0 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 70 lass="tok-null">true</span>,.<sp
892c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 an.class="tok-str">&quot;hi&quot
892e0 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 6f ;</span>).len.==.<span.class="to
89300 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 61 k-number">0</span>);</span>.<spa
89320 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
89340 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 ss="tok-kw">try</span>.expect(pe
89360 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 63 erTypeEmptyArrayAndSlice(<span.c
89380 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 3c 73 lass="tok-null">false</span>,.<s
893a0 70 61 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
893c0 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
893e0 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 73 70 ok-number">1</span>);</span>.<sp
89400 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
89420 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
89440 6c 61 73 73 3d 22 6c 69 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"
89460 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">
89480 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 70 61 6e peerTypeEmptyArrayAndSlice</span
894a0 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 6f 6c >(a:.<span.class="tok-type">bool
894c0 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 22 74 </span>,.slice:.[]<span.class="t
894e0 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=
89500 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 20 63 6c "tok-type">u8</span>).[]<span.cl
89520 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ass="tok-kw">const</span>.<span.
89540 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 2f 73 70 class="tok-type">u8</span>.{</sp
89560 61 6e 3e 0a 3c 73 70 61 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
89580 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 20 7b 3c .class="tok-kw">if</span>.(a).{<
895a0 2f 73 70 61 6e 3e 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">......
895c0 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
895e0 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 2d 74 79 pan>.&amp;[_]<span.class="tok-ty
89600 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 20 63 6c pe">u8</span>{};</span>.<span.cl
89620 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
89640 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="
89660 6c 69 6e 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
89680 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 73 3d 22 eturn</span>.slice[<span.class="
896a0 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 6c 61 73 tok-number">0</span>..<span.clas
896c0 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 61 6e 3e s="tok-number">1</span>];</span>
896e0 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
89700 61 6e 20 63 6c 61 73 73 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
89720 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
89740 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
89760 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 79 65 72 n:.*[0]u8,.[]const.u8,.and.anyer
89780 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 3e 0a 3c ror![]u8&quot;</span>.{</span>.<
897a0 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 3e 0a 3c span.class="line">....{</span>.<
897c0 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.
897e0 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.=
89800 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&
89820 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
89840 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
89860 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
89880 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
898a0 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"
898c0 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
898e0 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
89900 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
89920 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=
89940 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)).
89960 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">
89980 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
899a0 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
899c0 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
899e0 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
89a00 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
89a20 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
89a40 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
89a60 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
89a80 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
89aa0 73 73 3d 22 6c 69 6e 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
89ac0 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
89ae0 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
89b00 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 20 3c 73 ss="tok-kw">var</span>.data.=.<s
89b20 70 61 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
89b40 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=
89b60 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-
89b80 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 5b 3c 73 kw">const</span>.slice.=.data[<s
89ba0 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 2e pan.class="tok-number">0</span>.
89bc0 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 3e 20 20 .];</span>.<span.class="line">..
89be0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ......<span.class="tok-kw">try</
89c00 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b span>.expect((<span.class="tok-k
89c20 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 w">try</span>.peerTypeEmptyArray
89c40 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f AndSliceAndError(<span.class="to
89c60 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 6c 65 6e k-null">true</span>,.slice)).len
89c80 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</
89ca0 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
89cc0 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 74 ">........<span.class="tok-kw">t
89ce0 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 22 74 ry</span>.expect((<span.class="t
89d00 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 79 41 ok-kw">try</span>.peerTypeEmptyA
89d20 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 73 73 rrayAndSliceAndError(<span.class
89d40 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 63 65 29 ="tok-null">false</span>,.slice)
89d60 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 ).len.==.<span.class="tok-number
89d80 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=
89da0 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=
89dc0 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
89de0 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
89e00 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 45 >.<span.class="tok-fn">peerTypeE
89e20 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 61 6e 3e mptyArrayAndSliceAndError</span>
89e40 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 6f 6c 3c (a:.<span.class="tok-type">bool<
89e60 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 22 74 6f /span>,.slice:.[]<span.class="to
89e80 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="
89ea0 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 73 70 61 tok-type">anyerror</span>![]<spa
89ec0 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 2f n.class="tok-type">u8</span>.{</
89ee0 73 70 61 6e 3e 0a 3c 73 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
89f00 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 20 an.class="tok-kw">if</span>.(a).
89f20 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">....
89f40 20 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<
89f60 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 2d /span>.&amp;[_]<span.class="tok-
89f80 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 20 type">u8</span>{};</span>.<span.
89fa0 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.
89fc0 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
89fe0 3d 22 6c 69 6e 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"
8a000 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 73 >return</span>.slice[<span.class
8a020 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 6c ="tok-number">0</span>..<span.cl
8a040 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 61 ass="tok-number">1</span>];</spa
8a060 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>.<
8a080 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.
8a0a0 63 6c 61 73 73 3d 22 6c 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
8a0c0 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
8a0e0 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 6e 3a 20 tr">&quot;peer.type.resolution:.
8a100 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 20 7b 3c *const.T.and.?*T&quot;</span>.{<
8a120 2f 73 70 61 6e 3e 0a 3c 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
8a140 70 61 6e 20 63 6c 61 73 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>.
8a160 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 a.=.<span.class="tok-builtin">@i
8a180 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ntToPtr</span>(*<span.class="tok
8a1a0 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
8a1c0 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 ok-type">usize</span>,.<span.cla
8a1e0 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 3c 2f 73 70 61 ss="tok-number">0x123456780</spa
8a200 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">.
8a220 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
8a240 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 74 69 pan>.b.=.<span.class="tok-builti
8a260 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 n">@intToPtr</span>(?*<span.clas
8a280 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e s="tok-type">usize</span>,.<span
8a2a0 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 3c .class="tok-number">0x123456780<
8a2c0 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
8a2e0 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<
8a300 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 70 61 6e 3e 0a 3c 73 /span>.expect(a.==.b);</span>.<s
8a320 70 61 6e 20 63 6c 61 73 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
8a340 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 20 3d 3d ="tok-kw">try</span>.expect(b.==
8a360 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 6c 69 6e 65 22 3e 7d .a);</span>.<span.class="line">}
8a380 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
8a3a0 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
8a3c0 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>
8a3e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 <span.class="line">$.<kbd>zig.te
8a400 73 74 20 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 6b 62 64 st.peer_type_resolution.zig</kbd
8a420 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 37 20 ></span>.<span.class="line">1/7.
8a440 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 69 6e 74 20 77 69 64 65 test.&quot;peer.resolve.int.wide
8a460 6e 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ning&quot;....OK</span>.<span.cl
8a480 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 72 20 72 ass="line">2/7.test.&quot;peer.r
8a4a0 65 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 esolve.arrays.of.different.size.
8a4c0 74 6f 20 63 6f 6e 73 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e to.const.slice&quot;....OK</span
8a4e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 37 20 74 65 73 74 20 26 71 >.<span.class="line">3/7.test.&q
8a500 75 6f 74 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 uot;peer.resolve.array.and.const
8a520 20 73 6c 69 63 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .slice&quot;....OK</span>.<span.
8a540 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 72 class="line">4/7.test.&quot;peer
8a560 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 3b .type.resolution:.?T.and.T&quot;
8a580 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....OK</span>.<span.class="line"
8a5a0 3e 35 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 >5/7.test.&quot;peer.type.resolu
8a5c0 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 26 71 75 6f 74 tion:.*[0]u8.and.[]const.u8&quot
8a5e0 3b 2e 2e 2e 20 4f 4b 3c 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
8a600 22 3e 36 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c ">6/7.test.&quot;peer.type.resol
8a620 75 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 ution:.*[0]u8,.[]const.u8,.and.a
8a640 6e 79 65 72 72 6f 72 21 5b 5d 75 38 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a nyerror![]u8&quot;....OK</span>.
8a660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 37 2f 37 20 74 65 73 74 20 26 71 75 6f <span.class="line">7/7.test.&quo
8a680 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 63 6f 6e 73 74 20 54 t;peer.type.resolution:.*const.T
8a6a0 20 61 6e 64 20 3f 2a 54 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .and.?*T&quot;....OK</span>.<spa
8a6c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 37 20 74 65 73 74 73 20 70 61 73 73 65 n.class="line">All.7.tests.passe
8a6e0 64 2e 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 d.</span>.</samp></pre></figure>
8a700 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 65 ......................<h2.id="Ze
8a720 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 65 72 6f ro-Bit-Types"><a.href="#toc-Zero
8a740 2d 42 69 74 2d 54 79 70 65 73 22 3e 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 20 3c -Bit-Types">Zero.Bit.Types</a>.<
8a760 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 5a 65 72 6f 2d 42 69 74 2d 54 79 a.class="hdr".href="#Zero-Bit-Ty
8a780 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 73 pes">..</a></h2>........<p>For.s
8a7a0 6f 6d 65 20 74 79 70 65 73 2c 20 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 ome.types,.<a.href="#sizeOf">@si
8a7c0 7a 65 4f 66 3c 2f 61 3e 20 69 73 20 30 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 zeOf</a>.is.0:</p>.......<ul>...
8a7e0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 ........<li><a.href="#void">void
8a800 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 3c 61 20 68 </a></li>...........<li>The.<a.h
8a820 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 3c 63 6f ref="#Integers">Integers</a>.<co
8a840 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
8a860 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 s="tok-type">u0</span></span></c
8a880 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 65 ode>.and.<code><span.class="line
8a8a0 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 30 3c 2f 73 70 61 "><span.class="tok-type">i0</spa
8a8c0 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>..........
8a8e0 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 .<li><a.href="#Arrays">Arrays</a
8a900 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 >.and.<a.href="#Vectors">Vectors
8a920 3c 2f 61 3e 20 77 69 74 68 20 6c 65 6e 20 30 2c 20 6f 72 20 77 69 74 68 20 61 6e 20 65 6c 65 6d </a>.with.len.0,.or.with.an.elem
8a940 65 6e 74 20 74 79 70 65 20 74 68 61 74 20 69 73 20 61 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 ent.type.that.is.a.zero.bit.type
8a960 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6e 20 3c 61 20 68 72 65 66 3d .</li>...........<li>An.<a.href=
8a980 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 77 69 74 68 20 6f 6e 6c 79 20 31 20 74 61 67 "#enum">enum</a>.with.only.1.tag
8a9a0 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 68 72 65 66 3d 22 .</li>...........<li>A.<a.href="
8a9c0 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 77 69 74 68 20 61 6c 6c 20 66 69 65 #struct">struct</a>.with.all.fie
8a9e0 6c 64 73 20 62 65 69 6e 67 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 lds.being.zero.bit.types.</li>..
8aa00 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e .........<li>A.<a.href="#union">
8aa20 75 6e 69 6f 6e 3c 2f 61 3e 20 77 69 74 68 20 6f 6e 6c 79 20 31 20 66 69 65 6c 64 20 77 68 69 63 union</a>.with.only.1.field.whic
8aa40 68 20 69 73 20 61 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 h.is.a.zero.bit.type.</li>......
8aa60 20 20 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 2d 74 6f 2d 5a .....<li><a.href="#Pointers-to-Z
8aa80 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 50 6f 69 6e 74 65 72 73 20 74 6f 20 5a 65 72 6f 20 ero-Bit-Types">Pointers.to.Zero.
8aaa0 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 20 61 72 65 20 74 68 65 6d 73 65 6c 76 65 73 20 7a 65 72 Bit.Types</a>.are.themselves.zer
8aac0 6f 20 62 69 74 20 74 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 o.bit.types.</li>.......</ul>...
8aae0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 74 79 70 65 73 20 63 61 6e 20 6f 6e ....<p>.......These.types.can.on
8ab00 6c 79 20 65 76 65 72 20 68 61 76 65 20 6f 6e 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 2c ly.ever.have.one.possible.value,
8ab20 20 61 6e 64 20 74 68 75 73 0a 20 20 20 20 20 20 72 65 71 75 69 72 65 20 30 20 62 69 74 73 20 74 .and.thus.......require.0.bits.t
8ab40 6f 20 72 65 70 72 65 73 65 6e 74 2e 20 43 6f 64 65 20 74 68 61 74 20 6d 61 6b 65 73 20 75 73 65 o.represent..Code.that.makes.use
8ab60 20 6f 66 20 74 68 65 73 65 20 74 79 70 65 73 20 69 73 0a 20 20 20 20 20 20 6e 6f 74 20 69 6e 63 .of.these.types.is.......not.inc
8ab80 6c 75 64 65 64 20 69 6e 20 74 68 65 20 66 69 6e 61 6c 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 luded.in.the.final.generated.cod
8aba0 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 e:.......</p>.......<figure><fig
8abc0 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
8abe0 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ass="file">test.zig</cite></figc
8ac00 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
8ac20 69 6e 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 74 ine"><span.class="tok-kw">export
8ac40 3c 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<
8ac60 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 72 /span>.<span.class="tok-fn">entr
8ac80 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 65 y</span>().<span.class="tok-type
8aca0 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
8acc0 73 73 3d 22 6c 69 6e 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
8ace0 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">var</span>.x:.<span.class="to
8ad00 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 3e k-type">void</span>.=.{};</span>
8ad20 0a 3c 73 70 61 6e 20 63 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
8ad40 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 6e ass="tok-kw">var</span>.y:.<span
8ad60 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 20 .class="tok-type">void</span>.=.
8ad80 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 20 {};</span>.<span.class="line">..
8ada0 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 6e ..x.=.y;</span>.<span.class="lin
8adc0 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
8ade0 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 20 >.......<p>When.this.turns.into.
8ae00 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 67 machine.code,.there.is.no.code.g
8ae20 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 63 enerated.in.the.......body.of.<c
8ae40 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 70 ode><span.class="line">entry</sp
8ae60 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 65 an></code>,.even.in.<a.href="#De
8ae80 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 65 bug">Debug</a>.mode..For.example
8aea0 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 64 ,.on.x86_64:</p>.......<pre><cod
8aec0 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 3b e>0000000000000010.&lt;entry&gt;
8aee0 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 75 :...10:.55....................pu
8af00 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 20 sh...%rbp...11:.48.89.e5........
8af20 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 20 ......mov....%rsp,%rbp...14:.5d.
8af40 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 20 ...................pop....%rbp..
8af60 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 20 .15:.c3....................retq.
8af80 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 61 ..</code></pre>.......<p>These.a
8afa0 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 65 ssembly.instructions.do.not.have
8afc0 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 6f .any.code.associated.with.the.vo
8afe0 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 66 id.values.-.......they.only.perf
8b000 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 61 orm.the.function.call.prologue.a
8b020 6e 64 20 65 70 69 6c 6f 67 2e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 76 6f nd.epilog.</p>........<h3.id="vo
8b040 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 2f 61 3e id"><a.href="#toc-void">void</a>
8b060 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 c2 a7 3c .<a.class="hdr".href="#void">..<
8b080 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 64 65 3e /a></h3>........<p>.......<code>
8b0a0 3c 73 70 61 6e 20 63 6c 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="
8b0c0 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
8b0e0 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 69 6e 73 74 61 6e 74 69 61 74 de>.can.be.useful.for.instantiat
8b100 69 6e 67 20 67 65 6e 65 72 69 63 20 74 79 70 65 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 ing.generic.types..For.example,.
8b120 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 20 63 6c given.a...........<code><span.cl
8b140 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 70 61 6e ass="line">Map(Key,.Value)</span
8b160 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 3c 73 70 ></code>,.one.can.pass.<code><sp
8b180 61 6e 20 63 6c 61 73 73 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
8b1a0 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>
8b1c0 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 69 6e 65 .for.the.<code><span.class="line
8b1e0 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 20 20 20 ">Value</span></code>...........
8b200 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 6e 74 6f ............type.to.make.it.into
8b220 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 65 74 3c .a.<code><span.class="line">Set<
8b240 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 20 20 /span></code>:.......</p>.......
8b260 3c 66 69 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
8b280 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 6f 69 64 5f 69 6e 5f 68 ap"><cite.class="file">void_in_h
8b2a0 61 73 68 6d 61 70 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 ashmap.zig</cite></figcaption><p
8b2c0 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
8b2e0 6e 20 63 6c 61 73 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
8b300 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
8b320 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
8b340 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
8b360 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
8b380 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.=
8b3a0 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
8b3c0 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
8b3e0 73 73 3d 22 6c 69 6e 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
8b400 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"
8b420 3e 26 71 75 6f 74 3b 74 75 72 6e 20 48 61 73 68 4d 61 70 20 69 6e 74 6f 20 61 20 73 65 74 20 77 >&quot;turn.HashMap.into.a.set.w
8b440 69 74 68 20 76 6f 69 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 ith.void&quot;</span>.{</span>.<
8b460 73 70 61 6e 20 63 6c 61 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
8b480 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6d 61 70 20 3d 20 73 74 64 2e s="tok-kw">var</span>.map.=.std.
8b4a0 41 75 74 6f 48 61 73 68 4d 61 70 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 AutoHashMap(<span.class="tok-typ
8b4c0 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">i32</span>,.<span.class="tok-
8b4e0 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 2e 69 6e 69 74 28 73 74 64 2e 74 65 73 74 type">void</span>).init(std.test
8b500 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 6c 61 ing.allocator);</span>.<span.cla
8b520 73 73 3d 22 6c 69 6e 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
8b540 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 6d 61 70 2e 64 65 69 6e 69 74 28 29 3b 3c 2f 73 w">defer</span>.map.deinit();</s
8b560 70 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>.
8b580 3c 73 70 61 6e 20 63 6c 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
8b5a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 6d 61 70 2e 70 75 74 28 3c ss="tok-kw">try</span>.map.put(<
8b5c0 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>
8b5e0 2c 20 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"
8b600 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
8b620 70 61 6e 3e 20 6d 61 70 2e 70 75 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 pan>.map.put(<span.class="tok-nu
8b640 6d 62 65 72 22 3e 32 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 mber">2</span>,.{});</span>.<spa
8b660 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
8b680 73 73 3d 22 6c 69 6e 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
8b6a0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 61 70 2e 63 6f 6e 74 61 69 6e w">try</span>.expect(map.contain
8b6c0 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 3c 2f 73 70 s(<span.class="tok-number">2</sp
8b6e0 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"
8b700 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
8b720 70 61 6e 3e 20 65 78 70 65 63 74 28 21 6d 61 70 2e 63 6f 6e 74 61 69 6e 73 28 3c 73 70 61 6e 20 pan>.expect(!map.contains(<span.
8b740 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 29 3b 3c 2f class="tok-number">3</span>));</
8b760 73 70 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>
8b780 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 61 70 2e .<span.class="line">...._.=.map.
8b7a0 72 65 6d 6f 76 65 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 remove(<span.class="tok-number">
8b7c0 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
8b7e0 69 6e 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
8b800 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 73 28 3c 73 y</span>.expect(!map.contains(<s
8b820 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>)
8b840 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">}</
8b860 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
8b880 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"
8b8a0 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 3c 73 >Shell</figcaption><pre><samp><s
8b8c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 pan.class="line">$.<kbd>zig.test
8b8e0 20 76 6f 69 64 5f 69 6e 5f 68 61 73 68 6d 61 70 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e .void_in_hashmap.zig</kbd></span
8b900 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 >.<span.class="line">1/1.test.&q
8b920 75 6f 74 3b 74 75 72 6e 20 48 61 73 68 4d 61 70 20 69 6e 74 6f 20 61 20 73 65 74 20 77 69 74 68 uot;turn.HashMap.into.a.set.with
8b940 20 76 6f 69 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .void&quot;....OK</span>.<span.c
8b960 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c lass="line">All.1.tests.passed.<
8b980 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>...
8b9a0 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 69 73 20 64 69 66 66 65 72 65 ....<p>Note.that.this.is.differe
8b9c0 6e 74 20 66 72 6f 6d 20 75 73 69 6e 67 20 61 20 64 75 6d 6d 79 20 76 61 6c 75 65 20 66 6f 72 20 nt.from.using.a.dummy.value.for.
8b9e0 74 68 65 20 68 61 73 68 20 6d 61 70 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 42 79 20 75 73 69 the.hash.map.value........By.usi
8ba00 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 70 61 ng.<code><span.class="line"><spa
8ba20 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></
8ba40 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 span></code>.as.the.type.of.the.
8ba60 76 61 6c 75 65 2c 20 74 68 65 20 68 61 73 68 20 6d 61 70 20 65 6e 74 72 79 20 74 79 70 65 20 68 value,.the.hash.map.entry.type.h
8ba80 61 73 20 6e 6f 20 76 61 6c 75 65 20 66 69 65 6c 64 2c 20 61 6e 64 0a 20 20 20 20 20 20 74 68 75 as.no.value.field,.and.......thu
8baa0 73 20 74 68 65 20 68 61 73 68 20 6d 61 70 20 74 61 6b 65 73 20 75 70 20 6c 65 73 73 20 73 70 61 s.the.hash.map.takes.up.less.spa
8bac0 63 65 2e 20 46 75 72 74 68 65 72 2c 20 61 6c 6c 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 64 ce..Further,.all.the.code.that.d
8bae0 65 61 6c 73 20 77 69 74 68 20 73 74 6f 72 69 6e 67 20 61 6e 64 20 6c 6f 61 64 69 6e 67 20 74 68 eals.with.storing.and.loading.th
8bb00 65 0a 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 64 65 6c 65 74 65 64 2c 20 61 73 20 73 65 65 e.......value.is.deleted,.as.see
8bb20 6e 20 61 62 6f 76 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 n.above........</p>.......<p>...
8bb40 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
8bb60 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><
8bb80 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 64 69 73 74 69 6e 63 74 20 66 72 6f 6d 20 3c /span></code>.is.distinct.from.<
8bba0 63 6f 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
8bbc0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c ass="tok-type">anyopaque</span><
8bbe0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e /span></code>........<code><span
8bc00 20 63 6c 61 73 73 3d 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
8bc20 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 68 ype">void</span></span></code>.h
8bc40 61 73 20 61 20 6b 6e 6f 77 6e 20 73 69 7a 65 20 6f 66 20 30 20 62 79 74 65 73 2c 20 61 6e 64 20 as.a.known.size.of.0.bytes,.and.
8bc60 3c 63 6f 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
8bc80 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e lass="tok-type">anyopaque</span>
8bca0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 6e 20 75 6e 6b 6e 6f 77 6e 2c 20 62 </span></code>.has.an.unknown,.b
8bcc0 75 74 20 6e 6f 6e 2d 7a 65 72 6f 2c 20 73 69 7a 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ut.non-zero,.size........</p>...
8bce0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 70 72 65 73 73 69 6f 6e 73 20 6f 66 20 74 79 70 ....<p>.......Expressions.of.typ
8bd00 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
8bd20 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 73 .class="tok-type">void</span></s
8bd40 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 74 68 65 20 6f 6e 6c 79 20 6f 6e 65 73 20 77 68 pan></code>.are.the.only.ones.wh
8bd60 6f 73 65 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 69 67 6e 6f 72 65 64 2e 20 46 6f 72 20 65 78 ose.value.can.be.ignored..For.ex
8bd80 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 3e ample:.......</p>.......<figure>
8bda0 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
8bdc0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f e.class="file">test.zig</cite></
8bde0 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
8be00 73 3d 22 6c 69 6e 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
8be20 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">
8be40 26 71 75 6f 74 3b 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 76 61 6c 75 65 26 &quot;ignoring.expression.value&
8be60 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
8be80 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 0a 3c 73 70 61 6e s="line">....foo();</span>.<span
8bea0 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
8bec0 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
8bee0 69 6e 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
8bf00 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
8bf20 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 33 32 an>().<span.class="tok-type">i32
8bf40 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
8bf60 6e 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
8bf80 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 urn</span>.<span.class="tok-numb
8bfa0 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 6c er">1234</span>;</span>.<span.cl
8bfc0 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>
8bfe0 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
8c000 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
8c020 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ><pre><samp><span.class="line">$
8c040 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 .<kbd>zig.test.test.zig</kbd></s
8c060 70 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
8c080 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 ass="t0_1">./docgen_tmp/test.zig
8c0a0 3a 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 74 33 31 5f 31 22 :2:8:.</span><span.class="t31_1"
8c0c0 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 74 30 5f 31 >error:.</span><span.class="t0_1
8c0e0 22 3e 65 78 70 72 65 73 73 69 6f 6e 20 76 61 6c 75 65 20 69 73 20 69 67 6e 6f 72 65 64 3c 2f 73 ">expression.value.is.ignored</s
8c100 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">.
8c120 20 20 20 66 6f 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 ...foo();</span>.<span.class="li
8c140 6e 65 22 3e 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e ne">.......<span.class="t32_1">^
8c160 3c 2f 73 70 61 6e 3e 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></span>.</samp></pre></fi
8c180 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 48 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 65 gure>.......<p>However,.if.the.e
8c1a0 78 70 72 65 73 73 69 6f 6e 20 68 61 73 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 xpression.has.type.<code><span.c
8c1c0 6c 61 73 73 3d 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
8c1e0 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 2c 20 74 68 e">void</span></span></code>,.th
8c200 65 72 65 20 77 69 6c 6c 20 62 65 20 6e 6f 20 65 72 72 6f 72 2e 20 46 75 6e 63 74 69 6f 6e 20 72 ere.will.be.no.error..Function.r
8c220 65 74 75 72 6e 20 76 61 6c 75 65 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 65 78 70 6c 69 63 69 eturn.values.can.also.be.explici
8c240 74 6c 79 20 69 67 6e 6f 72 65 64 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 68 65 6d 20 74 6f tly.ignored.by.assigning.them.to
8c260 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 5f 3c 2f 73 70 61 .<code><span.class="line">_</spa
8c280 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 n></code>..</p>.......<figure><f
8c2a0 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.
8c2c0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 6f 69 64 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3c 2f 63 class="file">void_ignored.zig</c
8c2e0 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
8c300 6e 20 63 6c 61 73 73 3d 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-
8c320 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
8c340 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 6f 69 64 20 69 73 20 69 67 6e 6f 72 65 64 26 71 75 6f 74 -str">&quot;void.is.ignored&quot
8c360 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
8c380 69 6e 65 22 3e 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 ine">....returnsVoid();</span>.<
8c3a0 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
8c3c0 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
8c3e0 73 3d 22 6c 69 6e 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
8c400 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">
8c420 26 71 75 6f 74 3b 65 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 73 &quot;explicitly.ignoring.expres
8c440 73 69 6f 6e 20 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 sion.value&quot;</span>.{</span>
8c460 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 66 6f 6f 28 .<span.class="line">...._.=.foo(
8c480 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">}</
8c4a0 73 70 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>
8c4c0 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=
8c4e0 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="
8c500 74 6f 6b 2d 66 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 tok-fn">returnsVoid</span>().<sp
8c520 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>.
8c540 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 6e 65 22 3e 3c 2f 73 {}</span>.<span.class="line"></s
8c560 70 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
8c580 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
8c5a0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 ss="tok-fn">foo</span>().<span.c
8c5c0 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 70 lass="tok-type">i32</span>.{</sp
8c5e0 61 6e 3e 0a 3c 73 70 61 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
8c600 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 73 .class="tok-kw">return</span>.<s
8c620 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
8c640 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 7d 3c n>;</span>.<span.class="line">}<
8c660 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
8c680 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
8c6a0 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 3c ">Shell</figcaption><pre><samp><
8c6c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 span.class="line">$.<kbd>zig.tes
8c6e0 74 20 76 6f 69 64 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a t.void_ignored.zig</kbd></span>.
8c700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f <span.class="line">1/2.test.&quo
8c720 74 3b 76 6f 69 64 20 69 73 20 69 67 6e 6f 72 65 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 t;void.is.ignored&quot;....OK</s
8c740 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 pan>.<span.class="line">2/2.test
8c760 20 26 71 75 6f 74 3b 65 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 .&quot;explicitly.ignoring.expre
8c780 73 73 69 6f 6e 20 76 61 6c 75 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c ssion.value&quot;....OK</span>.<
8c7a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 span.class="line">All.2.tests.pa
8c7c0 73 73 65 64 2e 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 ssed.</span>.</samp></pre></figu
8c7e0 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 50 6f 69 6e 74 65 re>...............<h3.id="Pointe
8c800 72 73 2d 74 6f 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 rs-to-Zero-Bit-Types"><a.href="#
8c820 74 6f 63 2d 50 6f 69 6e 74 65 72 73 2d 74 6f 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e toc-Pointers-to-Zero-Bit-Types">
8c840 50 6f 69 6e 74 65 72 73 20 74 6f 20 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 20 3c Pointers.to.Zero.Bit.Types</a>.<
8c860 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 73 2d 74 6f a.class="hdr".href="#Pointers-to
8c880 2d 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 33 3e 0a 0a 20 20 -Zero-Bit-Types">..</a></h3>....
8c8a0 20 20 20 20 3c 70 3e 50 6f 69 6e 74 65 72 73 20 74 6f 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 ....<p>Pointers.to.zero.bit.type
8c8c0 73 20 61 6c 73 6f 20 68 61 76 65 20 7a 65 72 6f 20 62 69 74 73 2e 20 54 68 65 79 20 61 6c 77 61 s.also.have.zero.bits..They.alwa
8c8e0 79 73 20 63 6f 6d 70 61 72 65 20 65 71 75 61 6c 20 74 6f 20 65 61 63 68 20 6f 74 68 65 72 3a 3c ys.compare.equal.to.each.other:<
8c900 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
8c920 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"
8c940 3e 70 6f 69 6e 74 65 72 73 5f 74 6f 5f 7a 65 72 6f 5f 62 69 74 73 2e 7a 69 67 3c 2f 63 69 74 65 >pointers_to_zero_bits.zig</cite
8c960 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
8c980 6c 61 73 73 3d 22 6c 69 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"
8c9a0 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=
8c9c0 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
8c9e0 61 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
8ca00 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="
8ca20 6c 69 6e 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
8ca40 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 </span>.expect.=.std.testing.exp
8ca60 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"><
8ca80 2f 73 70 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.
8caa0 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
8cac0 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 74 .class="tok-str">&quot;pointer.t
8cae0 6f 20 65 6d 70 74 79 20 73 74 72 75 63 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 o.empty.struct&quot;</span>.{</s
8cb00 70 61 6e 3e 0a 3c 73 70 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
8cb20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 6d n.class="tok-kw">const</span>.Em
8cb40 70 74 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 pty.=.<span.class="tok-kw">struc
8cb60 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 6c 61 73 73 3d t</span>.{};</span>.<span.class=
8cb80 22 6c 69 6e 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">
8cba0 76 61 72 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 45 6d 70 74 79 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c var</span>.a.=.Empty{};</span>.<
8cbc0 73 70 61 6e 20 63 6c 61 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
8cbe0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 45 6d 70 74 79 7b s="tok-kw">var</span>.b.=.Empty{
8cc00 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">...
8cc20 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>
8cc40 20 70 74 72 5f 61 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 .ptr_a.=.&amp;a;</span>.<span.cl
8cc60 61 73 73 3d 22 6c 69 6e 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-
8cc80 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 74 72 5f 62 20 3d 20 26 61 6d 70 3b 62 3b 3c 2f kw">var</span>.ptr_b.=.&amp;b;</
8cca0 73 70 61 6e 3e 0a 3c 73 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
8ccc0 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
8cce0 3e 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
8cd00 3e 20 65 78 70 65 63 74 28 70 74 72 5f 61 20 3d 3d 20 70 74 72 5f 62 29 3b 3c 2f 73 70 61 6e 3e >.expect(ptr_a.==.ptr_b);</span>
8cd20 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
8cd40 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
8cd60 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
8cd80 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
8cda0 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 6f 69 6e 74 65 72 73 ="line">$.<kbd>zig.test.pointers
8cdc0 5f 74 6f 5f 7a 65 72 6f 5f 62 69 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c _to_zero_bits.zig</kbd></span>.<
8cde0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 span.class="line">1/1.test.&quot
8ce00 3b 70 6f 69 6e 74 65 72 20 74 6f 20 65 6d 70 74 79 20 73 74 72 75 63 74 26 71 75 6f 74 3b 2e 2e ;pointer.to.empty.struct&quot;..
8ce20 2e 20 4f 4b 3c 2f 73 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 ..OK</span>.<span.class="line">A
8ce40 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 ll.1.tests.passed.</span>.</samp
8ce60 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 74 79 ></pre></figure>.......<p>The.ty
8ce80 70 65 20 62 65 69 6e 67 20 70 6f 69 6e 74 65 64 20 74 6f 20 63 61 6e 20 6f 6e 6c 79 20 65 76 65 pe.being.pointed.to.can.only.eve
8cea0 72 20 62 65 20 6f 6e 65 20 76 61 6c 75 65 3b 20 74 68 65 72 65 66 6f 72 65 20 6c 6f 61 64 73 20 r.be.one.value;.therefore.loads.
8cec0 61 6e 64 20 73 74 6f 72 65 73 20 61 72 65 0a 20 20 20 20 20 20 6e 65 76 65 72 20 67 65 6e 65 72 and.stores.are.......never.gener
8cee0 61 74 65 64 2e 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e 70 74 72 54 6f 49 ated..<a.href="#ptrToInt">ptrToI
8cf00 6e 74 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 50 74 72 22 3e 69 nt</a>.and.<a.href="#intToPtr">i
8cf20 6e 74 54 6f 50 74 72 3c 2f 61 3e 20 61 72 65 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 3a 3c 2f 70 3e ntToPtr</a>.are.not.allowed:</p>
8cf40 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
8cf60 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
8cf80 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><
8cfa0 63 6f 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
8cfc0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 6d 70 74 79 20 ass="tok-kw">const</span>.Empty.
8cfe0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 =.<span.class="tok-kw">struct</s
8d000 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
8d020 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
8d040 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>.<
8d060 73 70 61 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 70 74 72 54 span.class="tok-str">&quot;@ptrT
8d080 6f 49 6e 74 20 66 6f 72 20 70 6f 69 6e 74 65 72 20 74 6f 20 7a 65 72 6f 20 62 69 74 20 74 79 70 oInt.for.pointer.to.zero.bit.typ
8d0a0 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
8d0c0 61 73 73 3d 22 6c 69 6e 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-
8d0e0 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 45 6d 70 74 79 7b 7d 3b 3c 2f 73 70 61 kw">var</span>.a.=.Empty{};</spa
8d100 6e 3e 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 3c 73 n>.<span.class="line">...._.=.<s
8d120 70 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 54 6f 49 6e pan.class="tok-builtin">@ptrToIn
8d140 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 t</span>(&amp;a);</span>.<span.c
8d160 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
8d180 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
8d1a0 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
8d1c0 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;
8d1e0 40 69 6e 74 54 6f 50 74 72 20 66 6f 72 20 70 6f 69 6e 74 65 72 20 74 6f 20 7a 65 72 6f 20 62 69 @intToPtr.for.pointer.to.zero.bi
8d200 74 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 0a 3c 73 70 t.type&quot;</span>.{</span>.<sp
8d220 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 63 6c an.class="line">...._.=.<span.cl
8d240 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 ass="tok-builtin">@intToPtr</spa
8d260 6e 3e 28 2a 45 6d 70 74 79 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 n>(*Empty,.<span.class="tok-numb
8d280 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
8d2a0 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>
8d2c0 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
8d2e0 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
8d300 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ><pre><samp><span.class="line">$
8d320 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 .<kbd>zig.test.test.zig</kbd></s
8d340 70 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
8d360 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 ass="t0_1">./docgen_tmp/test.zig
8d380 3a 34 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 :4:5:.</span><span.class="t31_1"
8d3a0 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 74 30 5f 31 >error:.</span><span.class="t0_1
8d3c0 22 3e 70 6f 69 6e 74 65 72 20 74 6f 20 73 69 7a 65 20 30 20 74 79 70 65 20 68 61 73 20 6e 6f 20 ">pointer.to.size.0.type.has.no.
8d3e0 61 64 64 72 65 73 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 address</span></span>.<span.clas
8d400 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 61 20 3d 20 45 6d 70 74 79 7b 7d 3b 3c 2f 73 s="line">....var.a.=.Empty{};</s
8d420 70 61 6e 3e 0a 3c 73 70 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
8d440 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
8d460 3c 73 70 61 6e 20 63 6c 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="
8d480 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 39 3a 31 39 t0_1">./docgen_tmp/test.zig:9:19
8d4a0 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 :.</span><span.class="t31_1">err
8d4c0 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 74 79 or:.</span><span.class="t0_1">ty
8d4e0 70 65 20 27 2a 45 6d 70 74 79 27 20 68 61 73 20 30 20 62 69 74 73 20 61 6e 64 20 63 61 6e 6e 6f pe.'*Empty'.has.0.bits.and.canno
8d500 74 20 73 74 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e t.store.information</span></span
8d520 3e 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 40 69 6e >.<span.class="line">...._.=.@in
8d540 74 54 6f 50 74 72 28 2a 45 6d 70 74 79 2c 20 30 78 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tToPtr(*Empty,.0x1);</span>.<spa
8d560 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">.................
8d580 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 .<span.class="t32_1">^</span></s
8d5a0 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>.....
8d5c0 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 52 65 73 75 6c 74 2d .................<h2.id="Result-
8d5e0 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f Location-Semantics"><a.href="#to
8d600 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 3e 52 65 73 c-Result-Location-Semantics">Res
8d620 75 6c 74 20 4c 6f 63 61 74 69 6f 6e 20 53 65 6d 61 6e 74 69 63 73 3c 2f 61 3e 20 3c 61 20 63 6c ult.Location.Semantics</a>.<a.cl
8d640 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e ass="hdr".href="#Result-Location
8d660 2d 53 65 6d 61 6e 74 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 -Semantics">..</a></h2>........<
8d680 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 p>.......<a.href="https://github
8d6a0 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 38 30 39 22 3e 54 4f .com/ziglang/zig/issues/2809">TO
8d6c0 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 74 68 69 73 3c 2f 61 DO.add.documentation.for.this</a
8d6e0 3e 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 32 20 69 >.......</p>...............<h2.i
8d700 64 3d 22 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 d="usingnamespace"><a.href="#toc
8d720 2d 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c -usingnamespace">usingnamespace<
8d740 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 73 69 6e 67 6e /a>.<a.class="hdr".href="#usingn
8d760 61 6d 65 73 70 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e amespace">..</a></h2>........<p>
8d780 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">
8d7a0 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
8d7c0 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 20 64 65 ace</span></span></code>.is.a.de
8d7e0 63 6c 61 72 61 74 69 6f 6e 20 74 68 61 74 20 6d 69 78 65 73 20 61 6c 6c 20 74 68 65 20 70 75 62 claration.that.mixes.all.the.pub
8d800 6c 69 63 0a 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6f 70 lic.......declarations.of.the.op
8d820 65 72 61 6e 64 2c 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 61 20 3c 61 20 68 72 65 66 3d 22 erand,.which.must.be.a.<a.href="
8d840 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 75 #struct">struct</a>,.<a.href="#u
8d860 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 nion">union</a>,.<a.href="#enum"
8d880 3e 65 6e 75 6d 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 >enum</a>,.......or.<a.href="#op
8d8a0 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 2c 20 69 6e 74 6f 20 74 68 65 20 6e 61 6d 65 73 aque">opaque</a>,.into.the.names
8d8c0 70 61 63 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c pace:.......</p>.......<figure><
8d8e0 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
8d900 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 2e 7a 69 67 .class="file">usingnamespace.zig
8d920 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><
8d940 73 70 61 6e 20 63 6c 61 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
8d960 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="
8d980 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 73 69 6e 67 20 73 74 64 20 6e 61 6d 65 73 70 61 tok-str">&quot;using.std.namespa
8d9a0 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 63 ce&quot;</span>.{</span>.<span.c
8d9c0 6c 61 73 73 3d 22 6c 69 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
8d9e0 2d 6b 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 -kw">const</span>.S.=.<span.clas
8da00 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 6e s="tok-kw">struct</span>.{</span
8da20 3e 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
8da40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 an.class="tok-kw">usingnamespace
8da60 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e </span>.<span.class="tok-builtin
8da80 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
8daa0 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>);<
8dac0 2f 73 70 61 6e 3e 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">....};
8dae0 3c 2f 73 70 61 6e 3e 0a 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">....<
8db00 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 53 span.class="tok-kw">try</span>.S
8db20 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 3d 22 74 6f 6b .testing.expect(<span.class="tok
8db40 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
8db60 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></
8db80 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
8dba0 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
8dbc0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
8dbe0 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 e">$.<kbd>zig.test.usingnamespac
8dc00 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e.zig</kbd></span>.<span.class="
8dc20 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 75 73 69 6e 67 20 73 74 64 20 6e line">1/1.test.&quot;using.std.n
8dc40 61 6d 65 73 70 61 63 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 amespace&quot;....OK</span>.<spa
8dc60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 n.class="line">All.1.tests.passe
8dc80 64 2e 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 d.</span>.</samp></pre></figure>
8dca0 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
8dcc0 73 73 3d 22 6c 69 6e 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 ss="line"><span.class="tok-kw">u
8dce0 73 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 singnamespace</span></span></cod
8dd00 65 3e 20 68 61 73 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 75 73 65 20 63 61 73 65 20 77 68 65 e>.has.an.important.use.case.whe
8dd20 6e 20 6f 72 67 61 6e 69 7a 69 6e 67 20 74 68 65 20 70 75 62 6c 69 63 0a 20 20 20 20 20 20 41 50 n.organizing.the.public.......AP
8dd40 49 20 6f 66 20 61 20 66 69 6c 65 20 6f 72 20 70 61 63 6b 61 67 65 2e 20 46 6f 72 20 65 78 61 6d I.of.a.file.or.package..For.exam
8dd60 70 6c 65 2c 20 6f 6e 65 20 6d 69 67 68 74 20 68 61 76 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d ple,.one.might.have.<code.class=
8dd80 22 66 69 6c 65 22 3e 63 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 61 6c 6c 20 6f 66 20 "file">c.zig</code>.with.all.of.
8dda0 74 68 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d the.......<a.href="#Import-from-
8ddc0 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 43 20 69 6d 70 6f 72 74 73 3c 2f 61 3e 3a 0a 20 20 C-Header-File">C.imports</a>:...
8dde0 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
8de00 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="
8de20 66 69 6c 65 22 3e 63 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 file">c.zig</cite></figcaption><
8de40 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
8de60 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
8de80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 an.class="tok-kw">usingnamespace
8dea0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e </span>.<span.class="tok-builtin
8dec0 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 73 70 61 6e ">@cImport</span>({</span>.<span
8dee0 20 63 6c 61 73 73 3d 22 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
8df00 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 ok-builtin">@cInclude</span>(<sp
8df20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 70 6f 78 79 2f 67 an.class="tok-str">&quot;epoxy/g
8df40 6c 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 6e 20 l.h&quot;</span>);</span>.<span.
8df60 63 6c 61 73 73 3d 22 6c 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
8df80 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 k-builtin">@cInclude</span>(<spa
8dfa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 47 4c 46 57 2f 67 6c 66 n.class="tok-str">&quot;GLFW/glf
8dfc0 77 33 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 6e w3.h&quot;</span>);</span>.<span
8dfe0 20 63 6c 61 73 73 3d 22 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
8e000 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 ok-builtin">@cDefine</span>(<spa
8e020 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 53 54 42 49 5f 4f 4e 4c n.class="tok-str">&quot;STBI_ONL
8e040 59 5f 50 4e 47 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 Y_PNG&quot;</span>,.<span.class=
8e060 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c "tok-str">&quot;&quot;</span>);<
8e080 2f 73 70 61 6e 3e 0a 3c 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
8e0a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 pan.class="tok-builtin">@cDefine
8e0c0 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
8e0e0 75 6f 74 3b 53 54 42 49 5f 4e 4f 5f 53 54 44 49 4f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 uot;STBI_NO_STDIO&quot;</span>,.
8e100 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 26 71 75 6f <span.class="tok-str">&quot;&quo
8e120 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="
8e140 6c 69 6e 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
8e160 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
8e180 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 62 5f 69 6d 61 67 65 2e 68 26 71 75 6f ="tok-str">&quot;stb_image.h&quo
8e1a0 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="
8e1c0 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 3e 3c 2f 66 line">});</span></code></pre></f
8e1e0 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 61 62 6f 76 65 igure>.......<p>.......The.above
8e200 20 65 78 61 6d 70 6c 65 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 75 73 69 6e 67 20 3c 63 6f 64 .example.demonstrates.using.<cod
8e220 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
8e240 3d 22 74 6f 6b 2d 6b 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 ="tok-kw">pub</span></span></cod
8e260 65 3e 20 74 6f 20 71 75 61 6c 69 66 79 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 e>.to.qualify.the.......<code><s
8e280 70 61 6e 20 63 6c 61 73 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
8e2a0 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 3c 2f 73 70 61 k-kw">usingnamespace</span></spa
8e2c0 6e 3e 3c 2f 63 6f 64 65 3e 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 6d 61 6b 65 73 20 74 68 65 n></code>.additionally.makes.the
8e2e0 20 69 6d 70 6f 72 74 65 64 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 0a 20 20 20 20 20 20 3c 63 6f .imported.declarations.......<co
8e300 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
8e320 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f s="tok-kw">pub</span></span></co
8e340 64 65 3e 2e 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 66 6f 72 77 61 72 64 de>..This.can.be.used.to.forward
8e360 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 67 69 76 69 6e 67 20 70 72 65 63 69 73 65 20 63 6f .declarations,.giving.precise.co
8e380 6e 74 72 6f 6c 0a 20 20 20 20 20 20 6f 76 65 72 20 77 68 61 74 20 64 65 63 6c 61 72 61 74 69 6f ntrol.......over.what.declaratio
8e3a0 6e 73 20 61 20 67 69 76 65 6e 20 66 69 6c 65 20 65 78 70 6f 73 65 73 2e 0a 20 20 20 20 20 20 3c ns.a.given.file.exposes........<
8e3c0 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 63 6f 6d 70 74 /p>................<h2.id="compt
8e3e0 69 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d ime"><a.href="#toc-comptime">com
8e400 70 74 69 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 ptime</a>.<a.class="hdr".href="#
8e420 63 6f 6d 70 74 69 6d 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 comptime">..</a></h2>........<p>
8e440 0a 20 20 20 20 20 20 5a 69 67 20 70 6c 61 63 65 73 20 69 6d 70 6f 72 74 61 6e 63 65 20 6f 6e 20 .......Zig.places.importance.on.
8e460 74 68 65 20 63 6f 6e 63 65 70 74 20 6f 66 20 77 68 65 74 68 65 72 20 61 6e 20 65 78 70 72 65 73 the.concept.of.whether.an.expres
8e480 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 6d 65 2e 0a 20 sion.is.known.at.compile-time...
8e4a0 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 77 20 64 69 66 66 65 72 65 6e 74 20 70 .....There.are.a.few.different.p
8e4c0 6c 61 63 65 73 20 74 68 69 73 20 63 6f 6e 63 65 70 74 20 69 73 20 75 73 65 64 2c 20 61 6e 64 20 laces.this.concept.is.used,.and.
8e4e0 74 68 65 73 65 20 62 75 69 6c 64 69 6e 67 20 62 6c 6f 63 6b 73 20 61 72 65 20 75 73 65 64 0a 20 these.building.blocks.are.used..
8e500 20 20 20 20 20 74 6f 20 6b 65 65 70 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 73 6d 61 6c 6c 2c .....to.keep.the.language.small,
8e520 20 72 65 61 64 61 62 6c 65 2c 20 61 6e 64 20 70 6f 77 65 72 66 75 6c 2e 0a 20 20 20 20 20 20 3c .readable,.and.powerful........<
8e540 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 /p>.......<h3.id="Introducing-th
8e560 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 3e 3c 61 20 68 72 65 66 3d e-Compile-Time-Concept"><a.href=
8e580 22 23 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 "#toc-Introducing-the-Compile-Ti
8e5a0 6d 65 2d 43 6f 6e 63 65 70 74 22 3e 49 6e 74 72 6f 64 75 63 69 6e 67 20 74 68 65 20 43 6f 6d 70 me-Concept">Introducing.the.Comp
8e5c0 69 6c 65 2d 54 69 6d 65 20 43 6f 6e 63 65 70 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 ile-Time.Concept</a>.<a.class="h
8e5e0 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 dr".href="#Introducing-the-Compi
8e600 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 le-Time-Concept">..</a></h3>....
8e620 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 50 61 72 61 6d 65 74 ....<h4.id="Compile-Time-Paramet
8e640 65 72 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 54 69 6d 65 2d ers"><a.href="#toc-Compile-Time-
8e660 50 61 72 61 6d 65 74 65 72 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 50 61 72 61 6d 65 74 Parameters">Compile-Time.Paramet
8e680 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f ers</a>.<a.class="hdr".href="#Co
8e6a0 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 mpile-Time-Parameters">..</a></h
8e6c0 34 3e 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 2d 74 69 6d 65 4>........<p>.......Compile-time
8e6e0 20 70 61 72 61 6d 65 74 65 72 73 20 69 73 20 68 6f 77 20 5a 69 67 20 69 6d 70 6c 65 6d 65 6e 74 .parameters.is.how.Zig.implement
8e700 73 20 67 65 6e 65 72 69 63 73 2e 20 49 74 20 69 73 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 64 s.generics..It.is.compile-time.d
8e720 75 63 6b 20 74 79 70 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 uck.typing........</p>.......<fi
8e740 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"
8e760 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 7a 69 67 3c 2f 63 69 ><cite.class="file">test.zig</ci
8e780 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
8e7a0 20 63 6c 61 73 73 3d 22 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
8e7c0 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
8e7e0 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 ">max</span>(<span.class="tok-kw
8e800 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
8e820 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 ="tok-type">type</span>,.a:.T,.b
8e840 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 6c 69 6e :.T).T.{</span>.<span.class="lin
8e860 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
8e880 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 69 rn</span>.<span.class="tok-kw">i
8e8a0 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 6c 61 73 f</span>.(a.&gt;.b).a.<span.clas
8e8c0 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 61 6e 3e s="tok-kw">else</span>.b;</span>
8e8e0 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
8e900 61 6e 20 63 6c 61 73 73 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
8e920 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-
8e940 66 6e 22 3e 67 69 6d 6d 65 54 68 65 42 69 67 67 65 72 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 61 fn">gimmeTheBiggerFloat</span>(a
8e960 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 :.<span.class="tok-type">f32</sp
8e980 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 66 an>,.b:.<span.class="tok-type">f
8e9a0 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
8e9c0 22 3e 66 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 ">f32</span>.{</span>.<span.clas
8e9e0 73 3d 22 6c 69 6e 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
8ea00 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">return</span>.max(<span.class=
8ea20 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 61 2c 20 62 29 3b 3c 2f 73 "tok-type">f32</span>,.a,.b);</s
8ea40 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>
8ea60 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=
8ea80 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="
8eaa0 74 6f 6b 2d 66 6e 22 3e 67 69 6d 6d 65 54 68 65 42 69 67 67 65 72 49 6e 74 65 67 65 72 3c 2f 73 tok-fn">gimmeTheBiggerInteger</s
8eac0 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 75 pan>(a:.<span.class="tok-type">u
8eae0 36 34 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 64</span>,.b:.<span.class="tok-t
8eb00 79 70 65 22 3e 75 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 ype">u64</span>).<span.class="to
8eb20 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 61 k-type">u64</span>.{</span>.<spa
8eb40 6e 20 63 6c 61 73 73 3d 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="
8eb60 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 3c 73 70 61 6e 20 tok-kw">return</span>.max(<span.
8eb80 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 2c 20 61 2c 20 class="tok-type">u64</span>,.a,.
8eba0 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 65 22 3e 7d 3c b);</span>.<span.class="line">}<
8ebc0 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>....
8ebe0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 74 79 70 65 73 20 61 72 65 20 66 ...<p>.......In.Zig,.types.are.f
8ec00 69 72 73 74 2d 63 6c 61 73 73 20 63 69 74 69 7a 65 6e 73 2e 20 54 68 65 79 20 63 61 6e 20 62 65 irst-class.citizens..They.can.be
8ec20 20 61 73 73 69 67 6e 65 64 20 74 6f 20 76 61 72 69 61 62 6c 65 73 2c 20 70 61 73 73 65 64 20 61 .assigned.to.variables,.passed.a
8ec40 73 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 66 75 6e 63 74 69 6f 6e 73 2c 0a 20 20 20 20 20 s.parameters.to.functions,......
8ec60 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 66 75 6e 63 74 69 6f 6e 73 2e 20 48 6f .and.returned.from.functions..Ho
8ec80 77 65 76 65 72 2c 20 74 68 65 79 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 69 6e 20 wever,.they.can.only.be.used.in.
8eca0 65 78 70 72 65 73 73 69 6f 6e 73 20 77 68 69 63 68 20 61 72 65 20 6b 6e 6f 77 6e 20 61 74 20 3c expressions.which.are.known.at.<
8ecc0 65 6d 3e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 65 6d 3e 2c 0a 20 20 20 20 20 20 77 68 69 63 em>compile-time</em>,.......whic
8ece0 68 20 69 73 20 77 68 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c 63 6f 64 65 3e 3c 73 70 h.is.why.the.parameter.<code><sp
8ed00 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 65 3e 20 an.class="line">T</span></code>.
8ed20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 73 6e 69 70 70 65 74 20 6d 75 73 74 20 62 65 20 6d 61 72 in.the.above.snippet.must.be.mar
8ed40 6b 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ked.with.<code><span.class="line
8ed60 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<
8ed80 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>
8eda0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .......<p>.......A.<code><span.c
8edc0 6c 61 73 73 3d 22 6c 69 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"
8ede0 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 70 >comptime</span></span></code>.p
8ee00 61 72 61 6d 65 74 65 72 20 6d 65 61 6e 73 20 74 68 61 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a arameter.means.that:.......</p>.
8ee20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 74 20 74 68 65 20 63 61 ......<ul>.........<li>At.the.ca
8ee40 6c 6c 73 69 74 65 2c 20 74 68 65 20 76 61 6c 75 65 20 6d 75 73 74 20 62 65 20 6b 6e 6f 77 6e 20 llsite,.the.value.must.be.known.
8ee60 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 6f 72 20 69 74 20 69 73 20 61 20 63 6f 6d 70 at.compile-time,.or.it.is.a.comp
8ee80 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 20 74 ile.error.</li>.........<li>In.t
8eea0 68 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 74 68 65 20 76 61 6c 75 he.function.definition,.the.valu
8eec0 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 3c 2f 6c 69 3e e.is.known.at.compile-time.</li>
8eee0 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 .......</ul>.......<p>.......For
8ef00 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 77 65 20 77 65 72 65 20 74 6f 20 69 6e 74 72 6f 64 75 63 .example,.if.we.were.to.introduc
8ef20 65 20 61 6e 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 e.another.function.to.the.above.
8ef40 73 6e 69 70 70 65 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 snippet:.......</p>.......<figur
8ef60 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
8ef80 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e ite.class="file">test.zig</cite>
8efa0 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
8efc0 61 73 73 3d 22 6c 69 6e 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">
8efe0 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
8f000 61 78 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ax</span>(<span.class="tok-kw">c
8f020 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
8f040 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 ok-type">type</span>,.a:.T,.b:.T
8f060 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 6c 69 6e 65 22 3e ).T.{</span>.<span.class="line">
8f080 20 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<
8f0a0 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 69 66 3c 2f /span>.<span.class="tok-kw">if</
8f0c0 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 6c 61 73 73 3d 22 span>.(a.&gt;.b).a.<span.class="
8f0e0 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 61 6e 3e 0a 3c 73 tok-kw">else</span>.b;</span>.<s
8f100 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.
8f120 63 6c 61 73 73 3d 22 6c 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
8f140 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
8f160 74 72 22 3e 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 70 61 73 73 20 61 20 72 75 6e 74 69 6d 65 20 tr">&quot;try.to.pass.a.runtime.
8f180 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 0a 3c 73 70 61 6e type&quot;</span>.{</span>.<span
8f1a0 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 6e 20 63 6c 61 73 .class="line">....foo(<span.clas
8f1c0 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
8f1e0 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>.<
8f200 73 70 61 6e 20 63 6c 61 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
8f220 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
8f240 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 3c 73 70 61 k-fn">foo</span>(condition:.<spa
8f260 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>).
8f280 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
8f2a0 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">.
8f2c0 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
8f2e0 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 3c 73 70 61 6e 20 pan>.result.=.max(</span>.<span.
8f300 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
8f320 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 74 69 6f 6e 29 20 ="tok-kw">if</span>.(condition).
8f340 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
8f360 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
8f380 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 36 34 3c 2f 73 n>.<span.class="tok-type">u64</s
8f3a0 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">
8f3c0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ........<span.class="tok-number"
8f3e0 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 20 63 6c 61 73 73 >1234</span>,</span>.<span.class
8f400 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
8f420 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 61 6e 3e 0a 3c 73 -number">5678</span>);</span>.<s
8f440 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 65 73 75 6c 74 3b pan.class="line">...._.=.result;
8f460 3c 2f 73 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
8f480 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
8f4a0 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
8f4c0 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 3c 73 70 61 hell</figcaption><pre><samp><spa
8f4e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 n.class="line">$.<kbd>zig.test.t
8f500 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig</kbd></span>.<span.class
8f520 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 ="line"><span.class="t0_1">./doc
8f540 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 39 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 gen_tmp/test.zig:9:9:.</span><sp
8f560 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c an.class="t31_1">error:.</span><
8f580 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 76 61 6c 75 65 73 20 6f 66 20 74 79 70 65 span.class="t0_1">values.of.type
8f5a0 20 27 74 79 70 65 27 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 3c 2f .'type'.must.be.comptime.known</
8f5c0 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">
8f5e0 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6e 64 69 74 69 6f 6e 29 20 66 33 32 20 65 6c 73 65 20 ........if.(condition).f32.else.
8f600 75 36 34 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 u64,</span>.<span.class="line">.
8f620 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 .......<span.class="t32_1">^</sp
8f640 61 6e 3e 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 an></span>.</samp></pre></figure
8f660 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 6e 20 65 72 72 >.......<p>.......This.is.an.err
8f680 6f 72 20 62 65 63 61 75 73 65 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 61 74 74 65 6d 70 or.because.the.programmer.attemp
8f6a0 74 65 64 20 74 6f 20 70 61 73 73 20 61 20 76 61 6c 75 65 20 6f 6e 6c 79 20 6b 6e 6f 77 6e 20 61 ted.to.pass.a.value.only.known.a
8f6c0 74 20 72 75 6e 2d 74 69 6d 65 0a 20 20 20 20 20 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 t.run-time.......to.a.function.w
8f6e0 68 69 63 68 20 65 78 70 65 63 74 73 20 61 20 76 61 6c 75 65 20 6b 6e 6f 77 6e 20 61 74 20 63 6f hich.expects.a.value.known.at.co
8f700 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e mpile-time........</p>.......<p>
8f720 0a 20 20 20 20 20 20 41 6e 6f 74 68 65 72 20 77 61 79 20 74 6f 20 67 65 74 20 61 6e 20 65 72 72 .......Another.way.to.get.an.err
8f740 6f 72 20 69 73 20 69 66 20 77 65 20 70 61 73 73 20 61 20 74 79 70 65 20 74 68 61 74 20 76 69 6f or.is.if.we.pass.a.type.that.vio
8f760 6c 61 74 65 73 20 74 68 65 20 74 79 70 65 20 63 68 65 63 6b 65 72 20 77 68 65 6e 20 74 68 65 0a lates.the.type.checker.when.the.
8f780 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 61 6c 79 7a 65 64 2e 20 54 68 69 73 ......function.is.analyzed..This
8f7a0 20 69 73 20 77 68 61 74 20 69 74 20 6d 65 61 6e 73 20 74 6f 20 68 61 76 65 20 3c 65 6d 3e 63 6f .is.what.it.means.to.have.<em>co
8f7c0 6d 70 69 6c 65 2d 74 69 6d 65 20 64 75 63 6b 20 74 79 70 69 6e 67 3c 2f 65 6d 3e 2e 0a 20 20 20 mpile-time.duck.typing</em>.....
8f7e0 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 78 61 6d ...</p>.......<p>.......For.exam
8f800 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 ple:.......</p>.......<figure><f
8f820 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.
8f840 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 class="file">test.zig</cite></fi
8f860 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=
8f880 22 6c 69 6e 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</
8f8a0 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 2f span>.<span.class="tok-fn">max</
8f8c0 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
8f8e0 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
8f900 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 20 ype">type</span>,.a:.T,.b:.T).T.
8f920 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">....
8f940 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
8f960 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e n>.<span.class="tok-kw">if</span
8f980 3e 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >.(a.&gt;.b).a.<span.class="tok-
8f9a0 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 kw">else</span>.b;</span>.<span.
8f9c0 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
8f9e0 73 3d 22 6c 69 6e 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
8fa00 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">
8fa20 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 74 3b &quot;try.to.compare.bools&quot;
8fa40 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
8fa60 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ne">...._.=.max(<span.class="tok
8fa80 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">bool</span>,.<span.class=
8faa0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c "tok-null">true</span>,.<span.cl
8fac0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 ass="tok-null">false</span>);</s
8fae0 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>
8fb00 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
8fb20 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
8fb40 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 3c 73 70 61 6e 20 63 l</figcaption><pre><samp><span.c
8fb60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 lass="line">$.<kbd>zig.test.test
8fb80 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .zig</kbd></span>.<span.class="l
8fba0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e ine"><span.class="t0_1">./docgen
8fbc0 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e _tmp/test.zig:2:18:.</span><span
8fbe0 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 .class="t31_1">error:.</span><sp
8fc00 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 6f 70 65 72 61 74 6f 72 20 6e 6f 74 20 61 6c 6c an.class="t0_1">operator.not.all
8fc20 6f 77 65 64 20 66 6f 72 20 74 79 70 65 20 27 62 6f 6f 6c 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 owed.for.type.'bool'</span></spa
8fc40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e n>.<span.class="line">....return
8fc60 20 69 66 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 65 6c 73 65 20 62 3b 3c 2f 73 70 61 6e 3e 0a .if.(a.&gt;.b).a.else.b;</span>.
8fc80 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">.............
8fca0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e ....<span.class="t32_1">^</span>
8fcc0 3c 2f 73 70 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
8fce0 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e .class="t0_1">./docgen_tmp/test.
8fd00 7a 69 67 3a 35 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 74 33 zig:5:12:.</span><span.class="t3
8fd20 36 5f 31 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 74 6_1">note:.</span><span.class="t
8fd40 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 0_1">called.from.here</span></sp
8fd60 61 6e 3e 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
8fd80 61 78 28 62 6f 6f 6c 2c 20 74 72 75 65 2c 20 66 61 6c 73 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ax(bool,.true,.false);</span>.<s
8fda0 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 3c 73 70 61 pan.class="line">...........<spa
8fdc0 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
8fde0 3c 73 70 61 6e 20 63 6c 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="
8fe00 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 32 39 t0_1">./docgen_tmp/test.zig:4:29
8fe20 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 :.</span><span.class="t36_1">not
8fe40 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c e:.</span><span.class="t0_1">cal
8fe60 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 led.from.here</span></span>.<spa
8fe80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 65 73 74 20 26 71 75 6f 74 3b 74 72 79 20 74 6f n.class="line">test.&quot;try.to
8fea0 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 26 71 75 6f 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 .compare.bools&quot;.{</span>.<s
8fec0 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">...............
8fee0 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 33 32 5f 31 22 .............<span.class="t32_1"
8ff00 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f >^</span></span>.</samp></pre></
8ff20 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 20 66 figure>.......<p>.......On.the.f
8ff40 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 64 65 lip.side,.inside.the.function.de
8ff60 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 63 6c finition.with.the.<code><span.cl
8ff80 61 73 73 3d 22 6c 69 6e 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">
8ffa0 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 70 61 comptime</span></span></code>.pa
8ffc0 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 6f 77 rameter,.the.......value.is.know
8ffe0 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 74 68 n.at.compile-time..This.means.th
90000 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 20 77 at.we.actually.could.make.this.w
90020 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 20 77 ork.for.the.bool.type.......if.w
90040 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 3c 66 e.wanted.to:.......</p>.......<f
90060 69 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
90080 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 6d 61 "><cite.class="file">comptime_ma
900a0 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 69 67 63 61 70 74 69 x_with_bool.zig</cite></figcapti
900c0 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"
900e0 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>.
90100 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 2f 73 70 61 6e 3e 28 <span.class="tok-fn">max</span>(
90120 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
90140 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
90160 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 20 7b 3c 2f 73 70 61 ype</span>,.a:.T,.b:.T).T.{</spa
90180 6e 3e 0a 3c 73 70 61 6e 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.
901a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 54 20 3d 3d 20 3c class="tok-kw">if</span>.(T.==.<
901c0 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
901e0 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">.
90200 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
90220 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 22 rn</span>.a.<span.class="tok-kw"
90240 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 73 >or</span>.b;</span>.<span.class
90260 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 6b 2d 6b ="line">....}.<span.class="tok-k
90280 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d w">else</span>.<span.class="tok-
902a0 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 7b 3c 2f 73 70 61 6e kw">if</span>.(a.&gt;.b).{</span
902c0 3e 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
902e0 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>.
90300 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 20 a;</span>.<span.class="line">...
90320 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
90340 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">
90360 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 ........<span.class="tok-kw">ret
90380 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 6e 20 63 6c 61 73 73 urn</span>.b;</span>.<span.class
903a0 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
903c0 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
903e0 6e 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
90400 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
90420 3b 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 ;try.to.compare.bools&quot;</spa
90440 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">.
90460 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
90480 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 69 6d n>.<span.class="tok-builtin">@im
904a0 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
904c0 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e ">&quot;std&quot;</span>).testin
904e0 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 22 74 6f 6b 2d 74 79 g.expect(max(<span.class="tok-ty
90500 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">bool</span>,.<span.class="to
90520 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 61 73 k-null">false</span>,.<span.clas
90540 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 70 s="tok-null">true</span>).==.<sp
90560 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>)
90580 3b 3c 2f 73 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
905a0 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
905c0 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">
905e0 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 3c 73 70 Shell</figcaption><pre><samp><sp
90600 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 an.class="line">$.<kbd>zig.test.
90620 63 6f 6d 70 74 69 6d 65 5f 6d 61 78 5f 77 69 74 68 5f 62 6f 6f 6c 2e 7a 69 67 3c 2f 6b 62 64 3e comptime_max_with_bool.zig</kbd>
90640 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 </span>.<span.class="line">1/1.t
90660 65 73 74 20 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 est.&quot;try.to.compare.bools&q
90680 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uot;....OK</span>.<span.class="l
906a0 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a ine">All.1.tests.passed.</span>.
906c0 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>
906e0 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 62 65 63 61 75 73 65 20 5a 69 67 20 69 6d .......This.works.because.Zig.im
90700 70 6c 69 63 69 74 6c 79 20 69 6e 6c 69 6e 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 plicitly.inlines.<code><span.cla
90720 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 ss="line"><span.class="tok-kw">i
90740 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 69 6f f</span></span></code>.expressio
90760 6e 73 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 0a 20 20 20 20 20 20 69 73 20 6b ns.when.the.condition.......is.k
90780 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 61 6e 64 20 74 68 65 20 63 6f nown.at.compile-time,.and.the.co
907a0 6d 70 69 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 73 mpiler.guarantees.that.it.will.s
907c0 6b 69 70 20 61 6e 61 6c 79 73 69 73 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 62 72 61 6e 63 68 kip.analysis.of.......the.branch
907e0 20 6e 6f 74 20 74 61 6b 65 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e .not.taken........</p>.......<p>
90800 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 61 63 74 75 61 .......This.means.that.the.actua
90820 6c 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20 3c 63 6f 64 65 3e 3c l.function.generated.for.<code><
90840 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f span.class="line">max</span></co
90860 64 65 3e 20 69 6e 20 74 68 69 73 20 73 69 74 75 61 74 69 6f 6e 20 6c 6f 6f 6b 73 20 6c 69 6b 65 de>.in.this.situation.looks.like
90880 0a 20 20 20 20 20 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 .......this:.......</p>.......<f
908a0 69 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
908c0 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 7a 69 67 3c 2f 63 "><cite.class="file">test.zig</c
908e0 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
90900 6e 20 63 6c 61 73 73 3d 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-
90920 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
90940 6e 22 3e 6d 61 78 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 n">max</span>(a:.<span.class="to
90960 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 73 70 61 6e 20 63 6c k-type">bool</span>,.b:.<span.cl
90980 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 3c 73 70 61 ass="tok-type">bool</span>).<spa
909a0 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>.{
909c0 3c 2f 73 70 61 6e 3e 0a 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">....<
909e0 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
90a00 3e 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 >.a.<span.class="tok-kw">or</spa
90a20 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">
90a40 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 0a 20 }</span></code></pre></figure>..
90a60 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 6c 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 .....<p>.......All.the.code.that
90a80 20 64 65 61 6c 74 20 77 69 74 68 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 .dealt.with.compile-time.known.v
90aa0 61 6c 75 65 73 20 69 73 20 65 6c 69 6d 69 6e 61 74 65 64 20 61 6e 64 20 77 65 20 61 72 65 20 6c alues.is.eliminated.and.we.are.l
90ac0 65 66 74 20 77 69 74 68 20 6f 6e 6c 79 0a 20 20 20 20 20 20 74 68 65 20 6e 65 63 65 73 73 61 72 eft.with.only.......the.necessar
90ae0 79 20 72 75 6e 2d 74 69 6d 65 20 63 6f 64 65 20 74 6f 20 61 63 63 6f 6d 70 6c 69 73 68 20 74 68 y.run-time.code.to.accomplish.th
90b00 65 20 74 61 73 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 e.task........</p>.......<p>....
90b20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 66 6f 72 20 3c ...This.works.the.same.way.for.<
90b40 63 6f 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
90b60 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
90b80 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 2d 20 74 68 65 79 20 61 72 65 20 ></code>.expressions.-.they.are.
90ba0 69 6d 70 6c 69 63 69 74 6c 79 20 69 6e 6c 69 6e 65 64 0a 20 20 20 20 20 20 77 68 65 6e 20 74 68 implicitly.inlined.......when.th
90bc0 65 20 74 61 72 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 e.target.expression.is.compile-t
90be0 69 6d 65 20 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 ime.known........</p>...........
90c00 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 ...<h4.id="Compile-Time-Variable
90c20 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 54 69 6d 65 2d 56 61 s"><a.href="#toc-Compile-Time-Va
90c40 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 56 61 72 69 61 62 6c 65 73 3c riables">Compile-Time.Variables<
90c60 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c /a>.<a.class="hdr".href="#Compil
90c80 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 e-Time-Variables">..</a></h4>...
90ca0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 74 68 65 20 70 72 6f 67 72 .....<p>.......In.Zig,.the.progr
90cc0 61 6d 6d 65 72 20 63 61 6e 20 6c 61 62 65 6c 20 76 61 72 69 61 62 6c 65 73 20 61 73 20 3c 63 6f ammer.can.label.variables.as.<co
90ce0 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
90d00 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 61 6e s="tok-kw">comptime</span></span
90d20 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 67 75 61 72 61 6e 74 65 65 73 20 74 6f 20 74 68 65 ></code>..This.guarantees.to.the
90d40 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 74 68 61 74 20 65 76 65 72 79 20 6c 6f 61 64 20 .compiler.......that.every.load.
90d60 61 6e 64 20 73 74 6f 72 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 70 65 72 and.store.of.the.variable.is.per
90d80 66 6f 72 6d 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 41 6e 79 20 76 69 6f 6c formed.at.compile-time..Any.viol
90da0 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 72 65 73 75 6c 74 73 20 69 6e 20 61 0a 20 20 20 20 20 ation.of.this.results.in.a......
90dc0 20 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 .compile.error........</p>......
90de0 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 74 68 .<p>.......This.combined.with.th
90e00 65 20 66 61 63 74 20 74 68 61 74 20 77 65 20 63 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 e.fact.that.we.can.<code><span.c
90e20 6c 61 73 73 3d 22 6c 69 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"
90e40 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 6c 6f 6f >inline</span></span></code>.loo
90e60 70 73 20 61 6c 6c 6f 77 73 20 75 73 20 74 6f 20 77 72 69 74 65 0a 20 20 20 20 20 20 61 20 66 75 ps.allows.us.to.write.......a.fu
90e80 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 69 73 20 70 61 72 74 69 61 6c 6c 79 20 65 76 61 6c 75 61 nction.which.is.partially.evalua
90ea0 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 6e 64 20 70 61 72 74 69 61 6c 6c ted.at.compile-time.and.partiall
90ec0 79 20 61 74 20 72 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 y.at.run-time........</p>.......
90ee0 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 <p>.......For.example:.......</p
90f00 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
90f20 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
90f40 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 omptime_vars.zig</cite></figcapt
90f60 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
90f80 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
90fa0 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
90fc0 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
90fe0 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
91000 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
91020 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
91040 73 3d 22 6c 69 6e 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
91060 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6d 64 46 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nst</span>.CmdFn.=.<span.class="
91080 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>.<
910a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 61 6d 65 3a 20 5b 5d 3c 73 span.class="line">....name:.[]<s
910c0 70 61 6e 20 63 6c 61 73 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>.
910e0 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>
91100 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">....
91120 66 75 6e 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 func:.<span.class="tok-kw">fn</s
91140 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c pan>(<span.class="tok-type">i32<
91160 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
91180 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 6c 32</span>,</span>.<span.class="l
911a0 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
911c0 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
911e0 61 6e 20 63 6c 61 73 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
91200 6d 64 5f 66 6e 73 20 3d 20 5b 5f 5d 43 6d 64 46 6e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 md_fns.=.[_]CmdFn{</span>.<span.
91220 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 61 6d 65 20 3d 20 class="line">....CmdFn.{.name.=.
91240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 6e 65 26 <span.class="tok-str">&quot;one&
91260 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 6f 6e 65 7d 2c 3c 2f 73 70 61 quot;</span>,..func.=.one},</spa
91280 6e 3e 0a 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 n>.<span.class="line">....CmdFn.
912a0 7b 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 {.name.=.<span.class="tok-str">&
912c0 71 75 6f 74 3b 74 77 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 74 quot;two&quot;</span>,..func.=.t
912e0 77 6f 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 wo},</span>.<span.class="line">.
91300 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 22 74 ...CmdFn.{.name.=.<span.class="t
91320 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 72 65 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ok-str">&quot;three&quot;</span>
91340 2c 20 2e 66 75 6e 63 20 3d 20 74 68 72 65 65 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ,..func.=.three},</span>.<span.c
91360 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
91380 73 3d 22 6c 69 6e 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
913a0 3c 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 6f 6e 65 </span>.<span.class="tok-fn">one
913c0 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-
913e0 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">i32</span>).<span.class="t
91400 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 63 6c 61 73 ok-type">i32</span>.{.<span.clas
91420 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 75 65 20 2b s="tok-kw">return</span>.value.+
91440 20 3c 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
91460 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 6e 65 22 3e n>;.}</span>.<span.class="line">
91480 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>.<
914a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 77 6f 3c 2f 73 70 61 6e 3e 28 76 span.class="tok-fn">two</span>(v
914c0 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 alue:.<span.class="tok-type">i32
914e0 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">
91500 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 i32</span>.{.<span.class="tok-kw
91520 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 20 2b 20 3c 73 70 61 6e 20 63 6c ">return</span>.value.+.<span.cl
91540 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 7d 3c 2f 73 70 ass="tok-number">2</span>;.}</sp
91560 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
91580 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
915a0 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 68 72 65 65 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c s="tok-fn">three</span>(value:.<
915c0 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>
915e0 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 ).<span.class="tok-type">i32</sp
91600 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 an>.{.<span.class="tok-kw">retur
91620 6e 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n</span>.value.+.<span.class="to
91640 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">3</span>;.}</span>.<sp
91660 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
91680 61 73 73 3d 22 6c 69 6e 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">
916a0 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 70 fn</span>.<span.class="tok-fn">p
916c0 65 72 66 6f 72 6d 46 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 erformFn</span>(<span.class="tok
916e0 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 70 72 65 66 69 78 5f 63 68 61 72 -kw">comptime</span>.prefix_char
91700 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
91720 6e 3e 2c 20 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>,.start_value:.<span.class="to
91740 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 3d k-type">i32</span>).<span.class=
91760 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>.<
91780 73 70 61 6e 20 63 6c 61 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
917a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 s="tok-kw">var</span>.result:.<s
917c0 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>.
917e0 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 6e 20 63 6c 61 73 =.start_value;</span>.<span.clas
91800 73 3d 22 6c 69 6e 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
91820 22 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 ">comptime</span>.<span.class="t
91840 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ok-kw">var</span>.i.=.<span.clas
91860 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>.
91880 3c 73 70 61 6e 20 63 6c 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
918a0 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.
918c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 class="tok-kw">while</span>.(i.&
918e0 6c 74 3b 20 63 6d 64 5f 66 6e 73 2e 6c 65 6e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 lt;.cmd_fns.len).:.(i.+=.<span.c
91900 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
91920 70 61 6e 3e 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">........
91940 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>.(
91960 63 6d 64 5f 66 6e 73 5b 69 5d 2e 6e 61 6d 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b cmd_fns[i].name[<span.class="tok
91980 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 70 72 65 66 69 78 5f 63 68 61 -number">0</span>].==.prefix_cha
919a0 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 6e 65 22 3e 20 r).{</span>.<span.class="line">.
919c0 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 63 6d 64 5f 66 6e 73 5b 69 5d 2e 66 ...........result.=.cmd_fns[i].f
919e0 75 6e 63 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 unc(result);</span>.<span.class=
91a00 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 6c "line">........}</span>.<span.cl
91a20 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
91a40 61 73 73 3d 22 6c 69 6e 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-
91a60 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 2f 73 70 61 6e 3e kw">return</span>.result;</span>
91a80 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
91aa0 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
91ac0 61 73 73 3d 22 6c 69 6e 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">
91ae0 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
91b00 22 3e 26 71 75 6f 74 3b 70 65 72 66 6f 72 6d 20 66 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 ">&quot;perform.fn&quot;</span>.
91b20 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">....
91b40 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>.
91b60 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f expect(performFn(<span.class="to
91b80 6b 2d 73 74 72 22 3e 27 74 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">'t'</span>,.<span.class="
91ba0 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 73 70 61 6e 20 63 tok-number">1</span>).==.<span.c
91bc0 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 29 3b 3c 2f 73 70 lass="tok-number">6</span>);</sp
91be0 61 6e 3e 0a 3c 73 70 61 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
91c00 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
91c20 74 28 70 65 72 66 6f 72 6d 46 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 t(performFn(<span.class="tok-str
91c40 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">'o'</span>,.<span.class="tok-n
91c60 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d umber">0</span>).==.<span.class=
91c80 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>.<
91ca0 73 70 61 6e 20 63 6c 61 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
91cc0 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 72 s="tok-kw">try</span>.expect(per
91ce0 66 6f 72 6d 46 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 77 27 formFn(<span.class="tok-str">'w'
91d00 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
91d20 22 3e 39 39 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">99</span>).==.<span.class="tok
91d40 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">99</span>);</span>.<spa
91d60 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></
91d80 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
91da0 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
91dc0 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
91de0 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 e">$.<kbd>zig.test.comptime_vars
91e00 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .zig</kbd></span>.<span.class="l
91e20 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 65 72 66 6f 72 6d 20 66 6e 26 71 ine">1/1.test.&quot;perform.fn&q
91e40 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uot;....OK</span>.<span.class="l
91e60 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a ine">All.1.tests.passed.</span>.
91e80 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>
91ea0 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 74 20 63 6f 6e .......This.example.is.a.bit.con
91ec0 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 2d 74 69 6d 65 trived,.because.the.compile-time
91ee0 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 6e 65 63 65 73 .evaluation.component.is.unneces
91f00 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 20 77 6f 72 6b sary;.......this.code.would.work
91f20 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 20 72 75 6e 2d .fine.if.it.was.all.done.at.run-
91f40 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 6e 65 72 61 74 time..But.it.does.end.up.generat
91f60 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 6e 20 74 68 69 ing.......different.code..In.thi
91f80 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 64 65 3e 3c 73 s.example,.the.function.<code><s
91fa0 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 2f 73 70 61 6e pan.class="line">performFn</span
91fc0 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 20 64 69 66 66 ></code>.is.generated.three.diff
91fe0 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 74 68 65 20 64 erent.times,...........for.the.d
92000 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 70 61 6e 20 63 ifferent.values.of.<code><span.c
92020 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 61 6e 3e 3c 2f lass="line">prefix_char</span></
92040 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 20 20 20 20 20 code>.provided:.......</p>......
92060 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-
92080 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 66 6f 72 6d 46 cap"><cite.class="file">performF
920a0 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 3e 3c 63 6f 64 n_1</cite></figcaption><pre><cod
920c0 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
920e0 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 6c 69 6e 65 3a ="tok-comment">//.From.the.line:
92100 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
92120 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 65 "><span.class="tok-comment">//.e
92140 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 36 29 3b 3c 2f xpect(performFn('t',.1).==.6);</
92160 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">
92180 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>.<
921a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 73 span.class="tok-fn">performFn</s
921c0 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>(start_value:.<span.class="t
921e0 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
92200 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>.
92220 3c 73 70 61 6e 20 63 6c 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
92240 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 6c 74 3a 20 3c ss="tok-kw">var</span>.result:.<
92260 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>
92280 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 6e 20 63 6c 61 .=.start_value;</span>.<span.cla
922a0 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 72 65 73 75 6c ss="line">....result.=.two(resul
922c0 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 20 20 t);</span>.<span.class="line">..
922e0 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 73 70 61 6e 3e ..result.=.three(result);</span>
92300 0a 3c 73 70 61 6e 20 63 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
92320 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
92340 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">}</
92360 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>.....
92380 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
923a0 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 66 6f 72 6d -cap"><cite.class="file">perform
923c0 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 65 3e 3c 63 6f Fn_2</cite></figcaption><pre><co
923e0 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
92400 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 6c 69 6e 65 s="tok-comment">//.From.the.line
92420 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 69 6e :</span></span>.<span.class="lin
92440 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">//.
92460 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 20 31 29 3b 3c expect(performFn('o',.0).==.1);<
92480 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"
924a0 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>.
924c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f <span.class="tok-fn">performFn</
924e0 73 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>(start_value:.<span.class="
92500 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
92520 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>
92540 0a 3c 73 70 61 6e 20 63 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
92560 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 6c 74 3a 20 ass="tok-kw">var</span>.result:.
92580 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
925a0 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 6e 20 63 6c >.=.start_value;</span>.<span.cl
925c0 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 28 72 65 73 75 ass="line">....result.=.one(resu
925e0 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 20 lt);</span>.<span.class="line">.
92600 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</
92620 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
92640 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
92660 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
92680 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
926a0 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 63 61 70 74 69 le">performFn_3</cite></figcapti
926c0 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"
926e0 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 72 ><span.class="tok-comment">//.Fr
92700 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 3c 73 70 61 6e om.the.line:</span></span>.<span
92720 20 63 6c 61 73 73 3d 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
92740 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 28 27 77 27 2c omment">//.expect(performFn('w',
92760 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 3c 73 70 61 6e .99).==.99);</span></span>.<span
92780 20 63 6c 61 73 73 3d 22 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
927a0 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
927c0 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 73 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 ">performFn</span>(start_value:.
927e0 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
92800 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
92820 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"
92840 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
92860 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 6f 6b 2d 74 79 pan>.result:.<span.class="tok-ty
92880 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 65 3b 3c 2f 73 pe">i32</span>.=.start_value;</s
928a0 70 61 6e 3e 0a 3c 73 70 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
928c0 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 72 n.class="tok-kw">return</span>.r
928e0 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"
92900 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 0a >}</span></code></pre></figure>.
92920 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 68 69 73 20 68 ......<p>.......Note.that.this.h
92940 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 64 3b 20 69 6e appens.even.in.a.debug.build;.in
92960 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 72 61 74 65 64 .a.release.build.these.generated
92980 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 20 74 68 72 6f .functions.still.......pass.thro
929a0 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 69 6f 6e 73 2e ugh.rigorous.LLVM.optimizations.
929c0 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 65 2c 20 68 6f .The.important.thing.to.note,.ho
929e0 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 20 20 20 69 73 wever,.is.not.that.this.......is
92a00 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 7a 65 64 20 63 .a.way.to.write.more.optimized.c
92a20 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 6f 20 6d 61 6b ode,.but.that.it.is.a.way.to.mak
92a40 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 3c 2f 65 6d 3e e.sure.that.what.<em>should</em>
92a60 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 6d 65 2c 20 3c .happen.......at.compile-time,.<
92a80 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 69 6c 65 2d 74 em>does</em>.happen.at.compile-t
92aa0 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 72 73 20 61 6e ime..This.catches.more.errors.an
92ac0 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 65 72 20 69 6e d.as.demonstrated.......later.in
92ae0 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 73 73 69 76 65 .this.article,.allows.expressive
92b00 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 73 20 72 65 71 ness.that.in.other.languages.req
92b20 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 65 6e 65 72 61 uires.using.macros,.......genera
92b40 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 20 74 6f 20 61 ted.code,.or.a.preprocessor.to.a
92b60 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 20 0a 20 20 20 ccomplish........</p>...........
92b80 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 72 65 73 73 69 ...<h4.id="Compile-Time-Expressi
92ba0 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 54 69 6d 65 2d ons"><a.href="#toc-Compile-Time-
92bc0 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 78 70 72 65 73 Expressions">Compile-Time.Expres
92be0 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 65 66 3d 22 23 sions</a>.<a.class="hdr".href="#
92c00 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 a7 3c 2f 61 3e Compile-Time-Expressions">..</a>
92c20 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 69 </h4>........<p>.......In.Zig,.i
92c40 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 78 70 72 65 73 t.matters.whether.a.given.expres
92c60 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 6d 65 20 6f 72 sion.is.known.at.compile-time.or
92c80 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 0a 20 20 20 20 .run-time..A.programmer.can.....
92ca0 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 6c 69 6e 65 22 ..use.a.<code><span.class="line"
92cc0 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</
92ce0 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 20 74 span></span></code>.expression.t
92d00 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 73 69 6f 6e 20 o.guarantee.that.the.expression.
92d20 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 65 2d 74 69 6d will.be.evaluated.at.compile-tim
92d40 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 61 63 63 6f 6d e........If.this.cannot.be.accom
92d60 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 65 6d 69 74 20 plished,.the.compiler.will.emit.
92d80 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 20 20 3c 2f 70 an.error..For.example:.......</p
92da0 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
92dc0 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
92de0 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e est.zig</cite></figcaption><pre>
92e00 3c 63 6f 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
92e20 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 lass="tok-kw">extern</span>.<spa
92e40 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
92e60 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 20 3c 73 .class="tok-fn">exit</span>().<s
92e80 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 73 pan.class="tok-type">noreturn</s
92ea0 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">
92ec0 3c 2f 73 70 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
92ee0 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
92f00 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 75 6f 74 n.class="tok-str">&quot;foo&quot
92f20 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
92f40 69 6e 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
92f60 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
92f80 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 61 6e 3e ss="line">........exit();</span>
92fa0 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>
92fc0 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
92fe0 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
93000 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
93020 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
93040 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 ="line">$.<kbd>zig.test.test.zig
93060 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 </kbd></span>.<span.class="line"
93080 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 ><span.class="t0_1">./docgen_tmp
930a0 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 /test.zig:5:9:.</span><span.clas
930c0 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c s="t31_1">error:.</span><span.cl
930e0 61 73 73 3d 22 74 30 5f 31 22 3e 75 6e 61 62 6c 65 20 74 6f 20 65 76 61 6c 75 61 74 65 20 63 6f ass="t0_1">unable.to.evaluate.co
93100 6e 73 74 61 6e 74 20 65 78 70 72 65 73 73 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a nstant.expression</span></span>.
93120 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 65 78 69 74 28 <span.class="line">........exit(
93140 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">...
93160 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e .....<span.class="t32_1">^</span
93180 3e 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>.
931a0 20 20 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 ......<p>.......It.doesn't.make.
931c0 73 65 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 sense.that.a.program.could.call.
931e0 3c 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 78 69 74 28 29 3c <code><span.class="line">exit()<
93200 2f 73 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 /span></code>.(or.any.other.exte
93220 72 6e 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 rnal.function)...........at.comp
93240 69 6c 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 ile-time,.so.this.is.a.compile.e
93260 72 72 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 rror..However,.a.<code><span.cla
93280 73 73 3d 22 6c 69 6e 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
932a0 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 65 78 70 omptime</span></span></code>.exp
932c0 72 65 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 ression.does.much.......more.tha
932e0 6e 20 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 n.sometimes.cause.a.compile.erro
93300 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 69 r........</p>.......<p>.......Wi
93320 74 68 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 thin.a.<code><span.class="line">
93340 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
93360 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 3a 0a 20 pan></span></code>.expression:..
93380 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>...........<
933a0 6c 69 3e 41 6c 6c 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e li>All.variables.are.<code><span
933c0 20 63 6c 61 73 73 3d 22 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
933e0 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>
93400 20 76 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 .variables.</li>...........<li>A
93420 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
93440 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
93460 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
93480 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 3c 2f 73 e"><span.class="tok-kw">while</s
934a0 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.
934c0 63 6c 61 73 73 3d 22 6c 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
934e0 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 2c 20 61 6e 64 20 ">for</span></span></code>,.and.
93500 3c 63 6f 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
93520 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 70 61 lass="tok-kw">switch</span></spa
93540 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e 73 20 n></code>...........expressions.
93560 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 6f are.evaluated.at.compile-time,.o
93580 72 20 65 6d 69 74 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 69 73 20 69 r.emit.a.compile.error.if.this.i
935a0 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 s.not.possible.</li>.........<li
935c0 3e 41 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 63 61 75 73 65 20 74 68 65 20 63 6f >All.function.calls.cause.the.co
935e0 6d 70 69 6c 65 72 20 74 6f 20 69 6e 74 65 72 70 72 65 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e mpiler.to.interpret.the.function
93600 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 65 6d 69 74 74 69 6e 67 20 61 0a 20 20 20 .at.compile-time,.emitting.a....
93620 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 65 20 66 75 6e 63 .......compile.error.if.the.func
93640 74 69 6f 6e 20 74 72 69 65 73 20 74 6f 20 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 tion.tries.to.do.something.that.
93660 68 61 73 20 67 6c 6f 62 61 6c 20 72 75 6e 2d 74 69 6d 65 20 73 69 64 65 20 65 66 66 65 63 74 73 has.global.run-time.side.effects
93680 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 .</li>.......</ul>.......<p>....
936a0 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 72 61 6d 6d 65 72 20 ...This.means.that.a.programmer.
936c0 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 63 68 20 69 73 20 63 can.create.a.function.which.is.c
936e0 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 65 20 61 6e 64 20 72 alled.both.at.compile-time.and.r
93700 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 64 69 66 69 63 61 74 un-time,.with.......no.modificat
93720 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 72 65 64 2e 0a 20 20 ion.to.the.function.required....
93740 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 65 74 27 73 20 6c ....</p>.......<p>.......Let's.l
93760 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 3c 2f 70 3e 0a 20 20 ook.at.an.example:.......</p>...
93780 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
937a0 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 69 62 6f 6e ig-cap"><cite.class="file">fibon
937c0 61 63 63 69 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 acci_recursion.zig</cite></figca
937e0 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
93800 6e 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</
93820 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 2d span>.expect.=.<span.class="tok-
93840 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
93860 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
93880 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 70 pan>).testing.expect;</span>.<sp
938a0 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
938c0 61 73 73 3d 22 6c 69 6e 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">
938e0 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
93900 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 63 6c 61 ibonacci</span>(index:.<span.cla
93920 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.
93940 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 3c 2f 73 class="tok-type">u32</span>.{</s
93960 70 61 6e 3e 0a 3c 73 70 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
93980 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 69 6e 64 65 n.class="tok-kw">if</span>.(inde
939a0 78 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e x.&lt;.<span.class="tok-number">
939c0 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 2</span>).<span.class="tok-kw">r
939e0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e eturn</span>.index;</span>.<span
93a00 20 63 6c 61 73 73 3d 22 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
93a20 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 69 ok-kw">return</span>.fibonacci(i
93a40 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ndex.-.<span.class="tok-number">
93a60 31 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 1</span>).+.fibonacci(index.-.<s
93a80 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>)
93aa0 3b 3c 2f 73 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
93ac0 70 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>.
93ae0 3c 73 70 61 6e 20 63 6c 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="
93b00 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=
93b20 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c "tok-str">&quot;fibonacci&quot;<
93b40 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
93b60 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"
93b80 3e 2f 2f 20 74 65 73 74 20 66 69 62 6f 6e 61 63 63 69 20 61 74 20 72 75 6e 2d 74 69 6d 65 3c 2f >//.test.fibonacci.at.run-time</
93ba0 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">
93bc0 20 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
93be0 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 6e 20 63 6c 61 73 73 an>.expect(fibonacci(<span.class
93c00 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e ="tok-number">7</span>).==.<span
93c20 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>);<
93c40 2f 73 70 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
93c60 3e 0a 3c 73 70 61 6e 20 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
93c80 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 65 73 74 20 66 69 62 6f 6e lass="tok-comment">//.test.fibon
93ca0 61 63 63 69 20 61 74 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 acci.at.compile-time</span></spa
93cc0 6e 3e 0a 3c 73 70 61 6e 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.
93ce0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b class="tok-kw">comptime</span>.{
93d00 3c 2f 73 70 61 6e 3e 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">.....
93d20 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
93d40 6e 3e 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>.expect(fibonacci(<span.class=
93d60 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 "tok-number">7</span>).==.<span.
93d80 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 2f class="tok-number">13</span>);</
93da0 73 70 61 6e 3e 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">....}</
93dc0 73 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
93de0 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><
93e00 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
93e20 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 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
93e40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 66 69 62 class="line">$.<kbd>zig.test.fib
93e60 6f 6e 61 63 63 69 5f 72 65 63 75 72 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e onacci_recursion.zig</kbd></span
93e80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 >.<span.class="line">1/1.test.&q
93ea0 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e uot;fibonacci&quot;....OK</span>
93ec0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 .<span.class="line">All.1.tests.
93ee0 70 61 73 73 65 64 2e 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 passed.</span>.</samp></pre></fi
93f00 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6d 61 67 69 6e 65 20 69 66 gure>.......<p>.......Imagine.if
93f20 20 77 65 20 68 61 64 20 66 6f 72 67 6f 74 74 65 6e 20 74 68 65 20 62 61 73 65 20 63 61 73 65 20 .we.had.forgotten.the.base.case.
93f40 6f 66 20 74 68 65 20 72 65 63 75 72 73 69 76 65 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 74 72 of.the.recursive.function.and.tr
93f60 69 65 64 20 74 6f 20 72 75 6e 20 74 68 65 20 74 65 73 74 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e ied.to.run.the.tests:.......</p>
93f80 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
93fa0 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
93fc0 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><
93fe0 63 6f 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
94000 61 73 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
94020 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
94040 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
94060 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e ">&quot;std&quot;</span>).testin
94080 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
940a0 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"><
940c0 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
940e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 3c 2f 73 70 pan.class="tok-fn">fibonacci</sp
94100 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 an>(index:.<span.class="tok-type
94120 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ">u32</span>).<span.class="tok-t
94140 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 63 ype">u32</span>.{</span>.<span.c
94160 6c 61 73 73 3d 22 6c 69 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
94180 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 69 66 20 28 69 6e 64 65 78 20 26 6c 74 3b 20 32 29 20 72 65 -comment">//if.(index.&lt;.2).re
941a0 74 75 72 6e 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 turn.index;</span></span>.<span.
941c0 63 6c 61 73 73 3d 22 6c 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
941e0 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e k-kw">return</span>.fibonacci(in
94200 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 dex.-.<span.class="tok-number">1
94220 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 </span>).+.fibonacci(index.-.<sp
94240 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 3b an.class="tok-number">2</span>);
94260 3c 2f 73 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
94280 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>.<
942a0 73 70 61 6e 20 63 6c 61 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
942c0 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="
942e0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f tok-str">&quot;fibonacci&quot;</
94300 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
94320 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 74 ">....<span.class="tok-kw">compt
94340 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=
94360 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-
94380 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 28 kw">try</span>.expect(fibonacci(
943a0 3c 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
943c0 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 >).==.<span.class="tok-number">1
943e0 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 6c 3</span>);</span>.<span.class="l
94400 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
94420 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
94440 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
94460 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>
94480 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e <samp><span.class="line">$.<kbd>
944a0 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c zig.test.test.zig</kbd></span>.<
944c0 73 70 61 6e 20 63 6c 61 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
944e0 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 38 3a 0_1">./docgen_tmp/test.zig:5:28:
94500 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f .</span><span.class="t31_1">erro
94520 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 6f 70 65 r:.</span><span.class="t0_1">ope
94540 72 61 74 69 6f 6e 20 63 61 75 73 65 64 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 3c 2f 73 ration.caused.overflow</span></s
94560 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 pan>.<span.class="line">....retu
94580 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 rn.fibonacci(index.-.1).+.fibona
945a0 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 cci(index.-.2);</span>.<span.cla
945c0 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">......................
945e0 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e .....<span.class="t32_1">^</span
94600 3e 3c 2f 73 70 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
94620 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 n.class="t0_1">./docgen_tmp/test
94640 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 74 .zig:5:21:.</span><span.class="t
94660 33 36 5f 31 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 36_1">note:.</span><span.class="
94680 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 t0_1">called.from.here</span></s
946a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 pan>.<span.class="line">....retu
946c0 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 rn.fibonacci(index.-.1).+.fibona
946e0 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 cci(index.-.2);</span>.<span.cla
94700 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 3c 73 ss="line">....................<s
94720 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e pan.class="t32_1">^</span></span
94740 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
94760 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a ="t0_1">./docgen_tmp/test.zig:5:
94780 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 21:.</span><span.class="t36_1">n
947a0 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 74 30 5f 31 22 3e 63 ote:.</span><span.class="t0_1">c
947c0 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 alled.from.here</span></span>.<s
947e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f pan.class="line">....return.fibo
94800 6e 61 63 63 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 nacci(index.-.1).+.fibonacci(ind
94820 65 78 20 2d 20 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 ex.-.2);</span>.<span.class="lin
94840 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
94860 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="t32_1">^</span></span>.<span
94880 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 .class="line"><span.class="t0_1"
948a0 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 >./docgen_tmp/test.zig:5:21:.</s
948c0 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f pan><span.class="t36_1">note:.</
948e0 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 span><span.class="t0_1">called.f
94900 72 6f 6d 20 68 65 72 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 rom.here</span></span>.<span.cla
94920 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 ss="line">....return.fibonacci(i
94940 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 20 32 29 ndex.-.1).+.fibonacci(index.-.2)
94960 3b 3c 2f 73 70 61 6e 3e 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">....
94980 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 33 32 ................<span.class="t32
949a0 5f 31 22 3e 5e 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 _1">^</span></span>.<span.class=
949c0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 "line"><span.class="t0_1">./docg
949e0 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 en_tmp/test.zig:5:21:.</span><sp
94a00 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 an.class="t36_1">note:.</span><s
94a20 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 pan.class="t0_1">called.from.her
94a40 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
94a60 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 e">....return.fibonacci(index.-.
94a80 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 3c 2f 73 70 61 6e 1).+.fibonacci(index.-.2);</span
94aa0 3e 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">...........
94ac0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f .........<span.class="t32_1">^</
94ae0 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">
94b00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f <span.class="t0_1">./docgen_tmp/
94b20 74 65 73 74 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 test.zig:5:21:.</span><span.clas
94b40 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 s="t36_1">note:.</span><span.cla
94b60 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e ss="t0_1">called.from.here</span
94b80 3e 3c 2f 73 70 61 6e 3e 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">....
94ba0 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 return.fibonacci(index.-.1).+.fi
94bc0 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e bonacci(index.-.2);</span>.<span
94be0 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 20 .class="line">..................
94c00 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f ..<span.class="t32_1">^</span></
94c20 73 70 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
94c40 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 lass="t0_1">./docgen_tmp/test.zi
94c60 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 74 33 36 5f g:5:21:.</span><span.class="t36_
94c80 31 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 74 30 5f 1">note:.</span><span.class="t0_
94ca0 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 1">called.from.here</span></span
94cc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 >.<span.class="line">....return.
94ce0 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 fibonacci(index.-.1).+.fibonacci
94d00 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d (index.-.2);</span>.<span.class=
94d20 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 3c 73 70 61 6e "line">....................<span
94d40 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
94d60 73 70 61 6e 20 63 6c 61 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
94d80 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 0_1">./docgen_tmp/test.zig:5:21:
94da0 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 .</span><span.class="t36_1">note
94dc0 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c :.</span><span.class="t0_1">call
94de0 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ed.from.here</span></span>.<span
94e00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 .class="line">....return.fibonac
94e20 63 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 ci(index.-.1).+.fibonacci(index.
94e40 2d 20 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 -.2);</span>.<span.class="line">
94e60 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=
94e80 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "t32_1">^</span></span>.<span.cl
94ea0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f ass="line"><span.class="t0_1">./
94ec0 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 32 39 3a 20 3c 2f 73 70 61 docgen_tmp/test.zig:10:29:.</spa
94ee0 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 n><span.class="t36_1">note:.</sp
94f00 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f an><span.class="t0_1">called.fro
94f20 6d 20 68 65 72 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 m.here</span></span>.<span.class
94f40 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 74 72 79 20 65 78 70 65 63 74 28 66 69 62 6f 6e ="line">........try.expect(fibon
94f60 61 63 63 69 28 37 29 20 3d 3d 20 31 33 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 acci(7).==.13);</span>.<span.cla
94f80 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">......................
94fa0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 ......<span.class="t32_1">^</spa
94fc0 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
94fe0 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 an.class="t0_1">./docgen_tmp/tes
95000 74 2e 7a 69 67 3a 38 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 t.zig:8:18:.</span><span.class="
95020 74 33 36 5f 31 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 t36_1">note:.</span><span.class=
95040 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f "t0_1">called.from.here</span></
95060 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 65 73 74 20 26 71 span>.<span.class="line">test.&q
95080 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 uot;fibonacci&quot;.{</span>.<sp
950a0 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">................
950c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 .<span.class="t32_1">^</span></s
950e0 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>.....
95100 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 6d 70 69 6c 65 72 20 70 72 6f 64 75 63 65 ..<p>.......The.compiler.produce
95120 73 20 61 6e 20 65 72 72 6f 72 20 77 68 69 63 68 20 69 73 20 61 20 73 74 61 63 6b 20 74 72 61 63 s.an.error.which.is.a.stack.trac
95140 65 20 66 72 6f 6d 20 74 72 79 69 6e 67 20 74 6f 20 65 76 61 6c 75 61 74 65 20 74 68 65 0a 20 20 e.from.trying.to.evaluate.the...
95160 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 ....function.at.compile-time....
95180 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 75 63 6b 69 6c 79 ....</p>.......<p>.......Luckily
951a0 2c 20 77 65 20 75 73 65 64 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 2c 20 61 ,.we.used.an.unsigned.integer,.a
951c0 6e 64 20 73 6f 20 77 68 65 6e 20 77 65 20 74 72 69 65 64 20 74 6f 20 73 75 62 74 72 61 63 74 20 nd.so.when.we.tried.to.subtract.
951e0 31 20 66 72 6f 6d 20 30 2c 20 69 74 20 74 72 69 67 67 65 72 65 64 0a 20 20 20 20 20 20 75 6e 64 1.from.0,.it.triggered.......und
95200 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2c 20 77 68 69 63 68 20 69 73 20 61 6c 77 61 79 73 efined.behavior,.which.is.always
95220 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 .a.compile.error.if.the.compiler
95240 20 6b 6e 6f 77 73 20 69 74 20 68 61 70 70 65 6e 65 64 2e 0a 20 20 20 20 20 20 42 75 74 20 77 68 .knows.it.happened........But.wh
95260 61 74 20 77 6f 75 6c 64 20 68 61 76 65 20 68 61 70 70 65 6e 65 64 20 69 66 20 77 65 20 75 73 65 at.would.have.happened.if.we.use
95280 64 20 61 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 d.a.signed.integer?.......</p>..
952a0 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="
952c0 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
952e0 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
95300 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
95320 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.=
95340 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
95360 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">
95380 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.
953a0 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
953c0 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
953e0 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
95400 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 3c 2f 73 70 61 6e n.class="tok-fn">fibonacci</span
95420 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e >(index:.<span.class="tok-type">
95440 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
95460 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
95480 73 73 3d 22 6c 69 6e 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
954a0 6f 6d 6d 65 6e 74 22 3e 2f 2f 69 66 20 28 69 6e 64 65 78 20 26 6c 74 3b 20 32 29 20 72 65 74 75 omment">//if.(index.&lt;.2).retu
954c0 72 6e 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c rn.index;</span></span>.<span.cl
954e0 61 73 73 3d 22 6c 69 6e 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-
95500 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 kw">return</span>.fibonacci(inde
95520 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 31 3c 2f x.-.<span.class="tok-number">1</
95540 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e span>).+.fibonacci(index.-.<span
95560 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 2f .class="tok-number">2</span>);</
95580 73 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
955a0 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
955c0 61 6e 20 63 6c 61 73 73 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
955e0 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
95600 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 k-str">&quot;fibonacci&quot;</sp
95620 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">
95640 20 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
95660 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
95680 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
956a0 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 28 3c 73 ">try</span>.expect(fibonacci(<s
956c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">7</span>)
956e0 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 33 3c .==.<span.class="tok-number">13<
95700 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
95720 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
95740 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
95760 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
95780 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
957a0 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
957c0 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 g.test.test.zig</kbd></span>.<sp
957e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f an.class="line"><span.class="t0_
95800 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 1">./docgen_tmp/test.zig:5:21:.<
95820 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a /span><span.class="t31_1">error:
95840 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 76 61 6c 75 .</span><span.class="t0_1">evalu
95860 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 72 64 73 20 62 72 ation.exceeded.1000.backwards.br
95880 61 6e 63 68 65 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 anches</span></span>.<span.class
958a0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 ="line">....return.fibonacci(ind
958c0 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 3c ex.-.1).+.fibonacci(index.-.2);<
958e0 2f 73 70 61 6e 3e 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">......
95900 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 33 32 5f 31 ..............<span.class="t32_1
95920 22 3e 5e 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 ">^</span></span>.<span.class="l
95940 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e ine"><span.class="t0_1">./docgen
95960 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e _tmp/test.zig:5:21:.</span><span
95980 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 .class="t36_1">note:.</span><spa
959a0 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c n.class="t0_1">called.from.here<
959c0 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"
959e0 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 >....return.fibonacci(index.-.1)
95a00 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a .+.fibonacci(index.-.2);</span>.
95a20 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">.............
95a40 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 .......<span.class="t32_1">^</sp
95a60 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
95a80 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 pan.class="t0_1">./docgen_tmp/te
95aa0 73 74 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 st.zig:5:21:.</span><span.class=
95ac0 22 74 33 36 5f 31 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 "t36_1">note:.</span><span.class
95ae0 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c ="t0_1">called.from.here</span><
95b00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 /span>.<span.class="line">....re
95b20 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f turn.fibonacci(index.-.1).+.fibo
95b40 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 nacci(index.-.2);</span>.<span.c
95b60 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 20 lass="line">....................
95b80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
95ba0 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
95bc0 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a ss="t0_1">./docgen_tmp/test.zig:
95be0 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 74 33 36 5f 31 22 5:21:.</span><span.class="t36_1"
95c00 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 74 30 5f 31 22 >note:.</span><span.class="t0_1"
95c20 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a >called.from.here</span></span>.
95c40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 <span.class="line">....return.fi
95c60 62 6f 6e 61 63 63 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 bonacci(index.-.1).+.fibonacci(i
95c80 6e 64 65 78 20 2d 20 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 ndex.-.2);</span>.<span.class="l
95ca0 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
95cc0 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="t32_1">^</span></span>.<sp
95ce0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f an.class="line"><span.class="t0_
95d00 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 1">./docgen_tmp/test.zig:5:21:.<
95d20 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 /span><span.class="t36_1">note:.
95d40 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 </span><span.class="t0_1">called
95d60 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .from.here</span></span>.<span.c
95d80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 lass="line">....return.fibonacci
95da0 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 20 (index.-.1).+.fibonacci(index.-.
95dc0 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 20 20 2);</span>.<span.class="line">..
95de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ..................<span.class="t
95e00 33 32 5f 31 22 3e 5e 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 32_1">^</span></span>.<span.clas
95e20 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f s="line"><span.class="t0_1">./do
95e40 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c cgen_tmp/test.zig:5:21:.</span><
95e60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e span.class="t36_1">note:.</span>
95e80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 <span.class="t0_1">called.from.h
95ea0 65 72 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 ere</span></span>.<span.class="l
95ec0 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 ine">....return.fibonacci(index.
95ee0 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 3c 2f 73 70 -.1).+.fibonacci(index.-.2);</sp
95f00 61 6e 3e 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">.........
95f20 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 33 32 5f 31 22 3e 5e ...........<span.class="t32_1">^
95f40 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
95f60 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d "><span.class="t0_1">./docgen_tm
95f80 70 2f 74 65 73 74 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 p/test.zig:5:21:.</span><span.cl
95fa0 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 ass="t36_1">note:.</span><span.c
95fc0 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 lass="t0_1">called.from.here</sp
95fe0 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">..
96000 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 ..return.fibonacci(index.-.1).+.
96020 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 fibonacci(index.-.2);</span>.<sp
96040 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">................
96060 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e ....<span.class="t32_1">^</span>
96080 3c 2f 73 70 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
960a0 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e .class="t0_1">./docgen_tmp/test.
960c0 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 74 33 zig:5:21:.</span><span.class="t3
960e0 36 5f 31 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 74 6_1">note:.</span><span.class="t
96100 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 0_1">called.from.here</span></sp
96120 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 an>.<span.class="line">....retur
96140 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 n.fibonacci(index.-.1).+.fibonac
96160 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ci(index.-.2);</span>.<span.clas
96180 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 3c 73 70 s="line">....................<sp
961a0 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e an.class="t32_1">^</span></span>
961c0 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=
961e0 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 "t0_1">./docgen_tmp/test.zig:5:2
96200 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 1:.</span><span.class="t36_1">no
96220 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 te:.</span><span.class="t0_1">ca
96240 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lled.from.here</span></span>.<sp
96260 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e an.class="line">....return.fibon
96280 61 63 63 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 acci(index.-.1).+.fibonacci(inde
962a0 78 20 2d 20 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 x.-.2);</span>.<span.class="line
962c0 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 73 ">....................<span.clas
962e0 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="t32_1">^</span></span>.<span.
96300 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e class="line"><span.class="t0_1">
96320 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 ./docgen_tmp/test.zig:5:21:.</sp
96340 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 an><span.class="t36_1">note:.</s
96360 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 pan><span.class="t0_1">called.fr
96380 6f 6d 20 68 65 72 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 om.here</span></span>.<span.clas
963a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e s="line">....return.fibonacci(in
963c0 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);
963e0 3c 2f 73 70 61 6e 3e 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">.....
96400 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 33 32 5f ...............<span.class="t32_
96420 31 22 3e 5e 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="
96440 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 line"><span.class="t0_1">./docge
96460 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 n_tmp/test.zig:5:21:.</span><spa
96480 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 n.class="t36_1">note:.</span><sp
964a0 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 an.class="t0_1">called.from.here
964c0 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
964e0 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 ">....return.fibonacci(index.-.1
96500 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 3c 2f 73 70 61 6e 3e ).+.fibonacci(index.-.2);</span>
96520 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">............
96540 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 ........<span.class="t32_1">^</s
96560 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"><
96580 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 span.class="t0_1">./docgen_tmp/t
965a0 65 73 74 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 est.zig:5:21:.</span><span.class
965c0 3d 22 74 33 36 5f 31 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 ="t36_1">note:.</span><span.clas
965e0 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e s="t0_1">called.from.here</span>
96600 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 </span>.<span.class="line">....r
96620 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 eturn.fibonacci(index.-.1).+.fib
96640 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 onacci(index.-.2);</span>.<span.
96660 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">...................
96680 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 .<span.class="t32_1">^</span></s
966a0 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>.....
966c0 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 6d 70 69 6c 65 72 20 6e 6f 74 69 63 65 64 ..<p>.......The.compiler.noticed
966e0 20 74 68 61 74 20 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 .that.evaluating.this.function.a
96700 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 74 6f 6f 6b 20 61 20 6c 6f 6e 67 20 74 69 6d 65 2c t.compile-time.took.a.long.time,
96720 0a 20 20 20 20 20 20 61 6e 64 20 74 68 75 73 20 65 6d 69 74 74 65 64 20 61 20 63 6f 6d 70 69 6c .......and.thus.emitted.a.compil
96740 65 20 65 72 72 6f 72 20 61 6e 64 20 67 61 76 65 20 75 70 2e 20 49 66 20 74 68 65 20 70 72 6f 67 e.error.and.gave.up..If.the.prog
96760 72 61 6d 6d 65 72 20 77 61 6e 74 73 20 74 6f 20 69 6e 63 72 65 61 73 65 0a 20 20 20 20 20 20 74 rammer.wants.to.increase.......t
96780 68 65 20 62 75 64 67 65 74 20 66 6f 72 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 6d 70 75 he.budget.for.compile-time.compu
967a0 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 2d 69 6e 20 tation,.they.can.use.a.built-in.
967c0 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 66 3d 22 23 function.called.......<a.href="#
967e0 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 42 72 61 6e setEvalBranchQuota">@setEvalBran
96800 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 66 61 75 6c chQuota</a>.to.change.the.defaul
96820 74 20 6e 75 6d 62 65 72 20 31 30 30 30 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 20 65 6c 73 65 2e t.number.1000.to.something.else.
96840 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 61 74 .......</p>.......<p>.......What
96860 20 69 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 .if.we.fix.the.base.case,.but.pu
96880 74 20 74 68 65 20 77 72 6f 6e 67 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c t.the.wrong.value.in.the.<code><
968a0 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 61 6e 3e 3c span.class="line">expect</span><
968c0 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 20 20 3c 66 /code>.line?.......</p>.......<f
968e0 69 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
96900 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 7a 69 67 3c 2f 63 "><cite.class="file">test.zig</c
96920 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
96940 6e 20 63 6c 61 73 73 3d 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-
96960 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 kw">const</span>.expect.=.<span.
96980 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
969a0 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
969c0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b td&quot;</span>).testing.expect;
969e0 3c 2f 73 70 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
96a00 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
96a20 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
96a40 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 78 ="tok-fn">fibonacci</span>(index
96a60 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
96a80 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c an>).<span.class="tok-type">i32<
96aa0 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
96ac0 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</
96ae0 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 74 span>.(index.&lt;.<span.class="t
96b00 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">2</span>).<span.class
96b20 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 2f ="tok-kw">return</span>.index;</
96b40 73 70 61 6e 3e 0a 3c 73 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
96b60 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>.
96b80 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 fibonacci(index.-.<span.class="t
96ba0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 ok-number">1</span>).+.fibonacci
96bc0 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 (index.-.<span.class="tok-number
96be0 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 3d ">2</span>);</span>.<span.class=
96c00 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
96c20 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
96c40 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>.<
96c60 73 70 61 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 6e span.class="tok-str">&quot;fibon
96c80 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 6e acci&quot;</span>.{</span>.<span
96ca0 20 63 6c 61 73 73 3d 22 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
96cc0 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>.
96ce0 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
96d00 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
96d20 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d t(fibonacci(<span.class="tok-num
96d40 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ber">7</span>).==.<span.class="t
96d60 6f 6b 2d 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 ok-number">99999</span>);</span>
96d80 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>
96da0 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
96dc0 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
96de0 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
96e00 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
96e20 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 ="line">$.<kbd>zig.test.test.zig
96e40 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 </kbd></span>.<span.class="line"
96e60 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 2e >1/1.test.&quot;fibonacci&quot;.
96e80 2e 2e 20 74 65 73 74 20 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 2e 2e 2e ...test.&quot;fibonacci&quot;...
96ea0 20 46 41 49 4c 20 28 54 65 73 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 6c 74 29 3c 2f 73 70 .FAIL.(TestUnexpectedResult)</sp
96ec0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 41 49 4c 20 28 54 65 73 an>.<span.class="line">FAIL.(Tes
96ee0 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 6c 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 tUnexpectedResult)</span>.<span.
96f00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 30 20 70 61 73 73 65 64 3b 20 30 20 73 6b 69 70 70 65 64 class="line">0.passed;.0.skipped
96f20 3b 20 31 20 66 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ;.1.failed.</span>.<span.class="
96f40 6c 69 6e 65 22 3e 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 line">error:.the.following.test.
96f60 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 63 6f 64 65 20 31 3a command.failed.with.exit.code.1:
96f80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 67 65 </span>.<span.class="line">docge
96fa0 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 36 34 33 64 30 38 66 31 n_tmp/zig-cache/o/e62d5b643d08f1
96fc0 61 63 62 62 31 33 38 36 64 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e acbb1386db92eb0f23/test./home/an
96fe0 64 79 2f 74 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 3c 2f 73 70 dy/tmp/zig/build-release/zig</sp
97000 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>......
97020 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 61 74 20 68 61 70 70 65 6e 65 64 20 69 73 20 5a 69 67 20 .<p>.......What.happened.is.Zig.
97040 73 74 61 72 74 65 64 20 69 6e 74 65 72 70 72 65 74 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c started.interpreting.the.<code><
97060 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 61 6e 3e 3c span.class="line">expect</span><
97080 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 20 /code>.function.with.the........
970a0 20 20 20 70 61 72 61 6d 65 74 65 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ...parameter.<code><span.class="
970c0 6c 69 6e 65 22 3e 6f 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 65 74 20 74 6f 20 3c 63 line">ok</span></code>.set.to.<c
970e0 6f 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
97100 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 6e ss="tok-null">false</span></span
97120 3e 3c 2f 63 6f 64 65 3e 2e 20 57 68 65 6e 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 68 ></code>..When.the.interpreter.h
97140 69 74 0a 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 73 70 61 6e it...................<code><span
97160 20 63 6c 61 73 73 3d 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
97180 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f uiltin">@panic</span></span></co
971a0 64 65 3e 20 69 74 20 65 6d 69 74 74 65 64 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 62 de>.it.emitted.a.compile.error.b
971c0 65 63 61 75 73 65 20 61 20 70 61 6e 69 63 20 64 75 72 69 6e 67 20 63 6f 6d 70 69 6c 65 0a 20 20 ecause.a.panic.during.compile...
971e0 20 20 20 20 63 61 75 73 65 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 69 74 ....causes.a.compile.error.if.it
97200 20 69 73 20 64 65 74 65 63 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 .is.detected.at.compile-time....
97220 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 74 20 63 6f 6e ....</p>........<p>.......At.con
97240 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 28 6f 75 74 73 69 64 65 20 6f 66 20 61 6e 79 20 66 75 6e tainer.level.(outside.of.any.fun
97260 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 72 65 20 69 6d 70 6c ction),.all.expressions.are.impl
97280 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 22 icitly.......<code><span.class="
972a0 6c 69 6e 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
972c0 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
972e0 69 6f 6e 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 77 65 20 63 61 6e 20 75 73 65 ions..This.means.that.we.can.use
97300 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 0a 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 65 20 63 .functions.to.......initialize.c
97320 6f 6d 70 6c 65 78 20 73 74 61 74 69 63 20 64 61 74 61 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a omplex.static.data..For.example:
97340 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
97360 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
97380 73 3d 22 66 69 6c 65 22 3e 4e 5f 70 72 69 6d 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 s="file">N_primes.zig</cite></fi
973a0 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=
973c0 22 6c 69 6e 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
973e0 74 3c 2f 73 70 61 6e 3e 20 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 20 3d 20 66 69 72 73 74 t</span>.first_25_primes.=.first
97400 4e 50 72 69 6d 65 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 NPrimes(<span.class="tok-number"
97420 3e 32 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 >25</span>);</span>.<span.class=
97440 22 6c 69 6e 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
97460 74 3c 2f 73 70 61 6e 3e 20 73 75 6d 5f 6f 66 5f 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 20 t</span>.sum_of_first_25_primes.
97480 3d 20 73 75 6d 28 26 61 6d 70 3b 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 29 3b 3c 2f 73 70 =.sum(&amp;first_25_primes);</sp
974a0 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>.<
974c0 73 70 61 6e 20 63 6c 61 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
974e0 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
97500 6b 2d 66 6e 22 3e 66 69 72 73 74 4e 50 72 69 6d 65 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-fn">firstNPrimes</span>(<span.
97520 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 6e class="tok-kw">comptime</span>.n
97540 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</
97560 73 70 61 6e 3e 29 20 5b 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 span>).[n]<span.class="tok-type"
97580 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 73 73 >i32</span>.{</span>.<span.class
975a0 3d 22 6c 69 6e 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"
975c0 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 72 69 6d 65 5f 6c 69 73 74 3a 20 5b 6e 5d 3c 73 70 61 6e >var</span>.prime_list:.[n]<span
975e0 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>.=.<
97600 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<
97620 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
97640 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</
97660 73 70 61 6e 3e 20 6e 65 78 74 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.next_index:.<span.class="t
97680 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
976a0 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
976c0 3e 0a 3c 73 70 61 6e 20 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
976e0 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 74 65 73 74 5f 6e 75 lass="tok-kw">var</span>.test_nu
97700 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
97720 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
97740 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=
97760 22 6c 69 6e 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">
97780 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 6e 65 78 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 70 72 while</span>.(next_index.&lt;.pr
977a0 69 6d 65 5f 6c 69 73 74 2e 6c 65 6e 29 20 3a 20 28 74 65 73 74 5f 6e 75 6d 62 65 72 20 2b 3d 20 ime_list.len).:.(test_number.+=.
977c0 3c 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
977e0 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">.
97800 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c .......<span.class="tok-kw">var<
97820 2f 73 70 61 6e 3e 20 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 /span>.test_prime_index:.<span.c
97840 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>.=.<
97860 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>
97880 3b 3c 2f 73 70 61 6e 3e 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">....
978a0 20 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
978c0 61 6e 3e 20 69 73 5f 70 72 69 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>.is_prime.=.<span.class="tok-
978e0 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 61 6e 20 null">true</span>;</span>.<span.
97900 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
97920 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 74 65 73 74 5f 70 72 69 ="tok-kw">while</span>.(test_pri
97940 6d 65 5f 69 6e 64 65 78 20 26 6c 74 3b 20 6e 65 78 74 5f 69 6e 64 65 78 29 20 3a 20 28 74 65 73 me_index.&lt;.next_index).:.(tes
97960 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f t_prime_index.+=.<span.class="to
97980 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 61 6e 3e 0a 3c 73 70 k-number">1</span>).{</span>.<sp
979a0 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 70 61 an.class="line">............<spa
979c0 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 74 65 73 74 n.class="tok-kw">if</span>.(test
979e0 5f 6e 75 6d 62 65 72 20 25 20 70 72 69 6d 65 5f 6c 69 73 74 5b 74 65 73 74 5f 70 72 69 6d 65 5f _number.%.prime_list[test_prime_
97a00 69 6e 64 65 78 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 index].==.<span.class="tok-numbe
97a20 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 6e 20 63 6c 61 73 r">0</span>).{</span>.<span.clas
97a40 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 69 73 5f 70 72 69 6d s="line">................is_prim
97a60 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 e.=.<span.class="tok-null">false
97a80 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
97aa0 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 22 e">................<span.class="
97ac0 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 61 6e 3e 0a 3c 73 70 tok-kw">break</span>;</span>.<sp
97ae0 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 73 an.class="line">............}</s
97b00 70 61 6e 3e 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">........
97b20 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">....
97b40 20 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
97b60 6e 3e 20 28 69 73 5f 70 72 69 6d 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n>.(is_prime).{</span>.<span.cla
97b80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6d 65 5f 6c 69 73 74 ss="line">............prime_list
97ba0 5b 6e 65 78 74 5f 69 6e 64 65 78 5d 20 3d 20 74 65 73 74 5f 6e 75 6d 62 65 72 3b 3c 2f 73 70 61 [next_index].=.test_number;</spa
97bc0 6e 3e 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">..........
97be0 20 20 6e 65 78 74 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ..next_index.+=.<span.class="tok
97c00 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.
97c20 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
97c40 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
97c60 70 61 6e 20 63 6c 61 73 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
97c80 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 72 69 6d 65 5f 6c 69 ="tok-kw">return</span>.prime_li
97ca0 73 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 st;</span>.<span.class="line">}<
97cc0 2f 73 70 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
97ce0 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
97d00 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=
97d20 22 74 6f 6b 2d 66 6e 22 3e 73 75 6d 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 73 3a 20 5b 5d 3c "tok-fn">sum</span>(numbers:.[]<
97d40 73 70 61 6e 20 63 6c 61 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>
97d60 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
97d80 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</
97da0 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
97dc0 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</
97de0 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 6f 6b 2d 74 span>.result:.<span.class="tok-t
97e00 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
97e20 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
97e40 6e 20 63 6c 61 73 73 3d 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="
97e60 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 73 29 20 7c 78 7c tok-kw">for</span>.(numbers).|x|
97e80 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">...
97ea0 20 20 20 20 20 72 65 73 75 6c 74 20 2b 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .....result.+=.x;</span>.<span.c
97ec0 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
97ee0 6c 61 73 73 3d 22 6c 69 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
97f00 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 2f 73 70 61 6e -kw">return</span>.result;</span
97f20 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
97f40 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
97f60 6c 61 73 73 3d 22 6c 69 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"
97f80 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
97fa0 72 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 73 26 71 75 6f 74 3b 3c 2f r">&quot;variable.values&quot;</
97fc0 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
97fe0 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</
98000 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e span>.<span.class="tok-builtin">
98020 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-
98040 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 str">&quot;std&quot;</span>).tes
98060 74 69 6e 67 2e 65 78 70 65 63 74 28 73 75 6d 5f 6f 66 5f 66 69 72 73 74 5f 32 35 5f 70 72 69 6d ting.expect(sum_of_first_25_prim
98080 65 73 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 es.==.<span.class="tok-number">1
980a0 30 36 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 060</span>);</span>.<span.class=
980c0 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
980e0 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="
98100 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
98120 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
98140 64 3e 7a 69 67 20 74 65 73 74 20 4e 5f 70 72 69 6d 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 d>zig.test.N_primes.zig</kbd></s
98160 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 pan>.<span.class="line">1/1.test
98180 20 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 73 26 71 75 6f 74 3b 2e 2e 2e 20 .&quot;variable.values&quot;....
981a0 4f 4b 3c 2f 73 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 6c 6c OK</span>.<span.class="line">All
981c0 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c .1.tests.passed.</span>.</samp><
981e0 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 57 /pre></figure>.......<p>.......W
98200 68 65 6e 20 77 65 20 63 6f 6d 70 69 6c 65 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2c 20 5a 69 67 hen.we.compile.this.program,.Zig
98220 20 67 65 6e 65 72 61 74 65 73 20 74 68 65 20 63 6f 6e 73 74 61 6e 74 73 0a 20 20 20 20 20 20 77 .generates.the.constants.......w
98240 69 74 68 20 74 68 65 20 61 6e 73 77 65 72 20 70 72 65 2d 63 6f 6d 70 75 74 65 64 2e 20 48 65 72 ith.the.answer.pre-computed..Her
98260 65 20 61 72 65 20 74 68 65 20 6c 69 6e 65 73 20 66 72 6f 6d 20 74 68 65 20 67 65 6e 65 72 61 74 e.are.the.lines.from.the.generat
98280 65 64 20 4c 4c 56 4d 20 49 52 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 ed.LLVM.IR:.......</p>.......<pr
982a0 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 6c 6c 76 6d 22 3e 40 30 20 3d 20 69 6e 74 65 72 6e e><code.class="llvm">@0.=.intern
982c0 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 5b 32 35 20 78 20 69 al.unnamed_addr.constant.[25.x.i
982e0 33 32 5d 20 5b 69 33 32 20 32 2c 20 69 33 32 20 33 2c 20 69 33 32 20 35 2c 20 69 33 32 20 37 2c 32].[i32.2,.i32.3,.i32.5,.i32.7,
98300 20 69 33 32 20 31 31 2c 20 69 33 32 20 31 33 2c 20 69 33 32 20 31 37 2c 20 69 33 32 20 31 39 2c .i32.11,.i32.13,.i32.17,.i32.19,
98320 20 69 33 32 20 32 33 2c 20 69 33 32 20 32 39 2c 20 69 33 32 20 33 31 2c 20 69 33 32 20 33 37 2c .i32.23,.i32.29,.i32.31,.i32.37,
98340 20 69 33 32 20 34 31 2c 20 69 33 32 20 34 33 2c 20 69 33 32 20 34 37 2c 20 69 33 32 20 35 33 2c .i32.41,.i32.43,.i32.47,.i32.53,
98360 20 69 33 32 20 35 39 2c 20 69 33 32 20 36 31 2c 20 69 33 32 20 36 37 2c 20 69 33 32 20 37 31 2c .i32.59,.i32.61,.i32.67,.i32.71,
98380 20 69 33 32 20 37 33 2c 20 69 33 32 20 37 39 2c 20 69 33 32 20 38 33 2c 20 69 33 32 20 38 39 2c .i32.73,.i32.79,.i32.83,.i32.89,
983a0 20 69 33 32 20 39 37 5d 0a 40 31 20 3d 20 69 6e 74 65 72 6e 61 6c 20 75 6e 6e 61 6d 65 64 5f 61 .i32.97].@1.=.internal.unnamed_a
983c0 64 64 72 20 63 6f 6e 73 74 61 6e 74 20 69 33 32 20 31 30 36 30 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ddr.constant.i32.1060</code></pr
983e0 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 77 65 20 e>.......<p>.......Note.that.we.
98400 64 69 64 20 6e 6f 74 20 68 61 76 65 20 74 6f 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 73 70 65 63 did.not.have.to.do.anything.spec
98420 69 61 6c 20 77 69 74 68 20 74 68 65 20 73 79 6e 74 61 78 20 6f 66 20 74 68 65 73 65 20 66 75 6e ial.with.the.syntax.of.these.fun
98440 63 74 69 6f 6e 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 20 77 65 20 63 6f ctions..For.example,.......we.co
98460 75 6c 64 20 63 61 6c 6c 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 uld.call.the.<code><span.class="
98480 6c 69 6e 65 22 3e 73 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e line">sum</span></code>.function
984a0 20 61 73 20 69 73 20 77 69 74 68 20 61 20 73 6c 69 63 65 20 6f 66 20 6e 75 6d 62 65 72 73 20 77 .as.is.with.a.slice.of.numbers.w
984c0 68 6f 73 65 20 6c 65 6e 67 74 68 20 61 6e 64 20 76 61 6c 75 65 73 20 77 65 72 65 0a 20 20 20 20 hose.length.and.values.were.....
984e0 20 20 6f 6e 6c 79 20 6b 6e 6f 77 6e 20 61 74 20 72 75 6e 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 ..only.known.at.run-time........
98500 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 3d </p>.....................<h3.id=
98520 22 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 3c 61 20 68 72 65 "Generic-Data-Structures"><a.hre
98540 66 3d 22 23 74 6f 63 2d 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 f="#toc-Generic-Data-Structures"
98560 3e 47 65 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 20 3c 61 20 >Generic.Data.Structures</a>.<a.
98580 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 47 65 6e 65 72 69 63 2d 44 61 74 61 2d class="hdr".href="#Generic-Data-
985a0 53 74 72 75 63 74 75 72 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c Structures">..</a></h3>........<
985c0 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 75 73 65 73 20 74 68 65 73 65 20 63 61 70 61 62 69 6c 69 p>.......Zig.uses.these.capabili
985e0 74 69 65 73 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 67 65 6e 65 72 69 63 20 64 61 74 61 20 73 ties.to.implement.generic.data.s
98600 74 72 75 63 74 75 72 65 73 20 77 69 74 68 6f 75 74 20 69 6e 74 72 6f 64 75 63 69 6e 67 20 61 6e tructures.without.introducing.an
98620 79 0a 20 20 20 20 20 20 73 70 65 63 69 61 6c 2d 63 61 73 65 20 73 79 6e 74 61 78 2e 20 49 66 20 y.......special-case.syntax..If.
98640 79 6f 75 20 66 6f 6c 6c 6f 77 65 64 20 61 6c 6f 6e 67 20 73 6f 20 66 61 72 2c 20 79 6f 75 20 6d you.followed.along.so.far,.you.m
98660 61 79 20 61 6c 72 65 61 64 79 20 6b 6e 6f 77 20 68 6f 77 20 74 6f 20 63 72 65 61 74 65 20 61 0a ay.already.know.how.to.create.a.
98680 20 20 20 20 20 20 67 65 6e 65 72 69 63 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 2e 0a 20 20 ......generic.data.structure....
986a0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 09 09 09 48 65 72 65 20 69 73 20 61 6e ....</p>.......<p>....Here.is.an
986c0 20 65 78 61 6d 70 6c 65 20 6f 66 20 61 20 67 65 6e 65 72 69 63 20 3c 63 6f 64 65 3e 3c 73 70 61 .example.of.a.generic.<code><spa
986e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 69 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 n.class="line">List</span></code
98700 3e 20 64 61 74 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 >.data.structure........</p>....
98720 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
98740 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 2e 7a g-cap"><cite.class="file">test.z
98760 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
98780 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=
987a0 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="
987c0 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 3d tok-fn">List</span>(<span.class=
987e0 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
98800 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 20 n.class="tok-type">type</span>).
98820 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
98840 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">.
98860 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</
98880 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 63 span>.<span.class="tok-kw">struc
988a0 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 6c t</span>.{</span>.<span.class="l
988c0 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 0a ine">........items:.[]T,</span>.
988e0 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 20 <span.class="line">........len:.
98900 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
98920 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">.
98940 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">
98960 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
98980 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
989a0 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 20 ss="tok-comment">//.The.generic.
989c0 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 61 List.data.structure.can.be.insta
989e0 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 73 ntiated.by.passing.in.a.type:</s
98a00 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"><
98a20 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
98a40 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"
98a60 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 65 >10</span>]<span.class="tok-type
98a80 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-
98aa0 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>.<
98ac0 73 70 61 6e 20 63 6c 61 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
98ae0 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 73 ok-kw">var</span>.list.=.List(<s
98b00 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>)
98b20 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">....
98b40 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 70 .items.=.&amp;buffer,</span>.<sp
98b60 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 6e an.class="line">.....len.=.<span
98b80 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 73 .class="tok-number">0</span>,</s
98ba0 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
98bc0 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 70 ></code></pre></figure>.......<p
98be0 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 69 >.......That's.it..It's.a.functi
98c00 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 6f on.that.returns.an.anonymous.<co
98c20 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
98c40 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 3c s="tok-kw">struct</span></span><
98c60 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 61 /code>........To.keep.the.langua
98c80 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 67 ge.small.and.uniform,.all.aggreg
98ca0 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 0a ate.types.in.Zig.are.anonymous..
98cc0 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 20 ......For.the.purposes.of.error.
98ce0 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 65 messages.and.debugging,.Zig.infe
98d00 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 6c rs.the.name.......<code><span.cl
98d20 61 73 73 3d 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 ass="line"><span.class="tok-str"
98d40 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 73 >&quot;List(i32)&quot;</span></s
98d60 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 61 pan></code>.from.the.function.na
98d80 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 63 me.and.parameters.invoked.when.c
98da0 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 75 reating.......the.anonymous.stru
98dc0 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 54 ct........</p>.......<p>.......T
98de0 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 2c o.explicitly.give.a.type.a.name,
98e00 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 20 .we.assign.it.to.a.constant.....
98e20 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
98e40 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
98e60 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e ile">test.zig</cite></figcaption
98e80 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"><
98ea0 73 70 61 6e 20 63 6c 61 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>
98ec0 20 4e 6f 64 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 .Node.=.<span.class="tok-kw">str
98ee0 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=
98f00 22 6c 69 6e 65 22 3e 20 20 20 20 6e 65 78 74 3a 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a "line">....next:.?*Node,</span>.
98f20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 61 6d 65 3a 20 5b 5d 3c <span.class="line">....name:.[]<
98f40 73 70 61 6e 20 63 6c 61 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>
98f60 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
98f80 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 3c >,</span>.<span.class="line">};<
98fa0 2f 73 70 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
98fc0 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
98fe0 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 6f 64 65 5f 61 20 3d 20 4e 6f ="tok-kw">var</span>.node_a.=.No
99000 64 65 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 de{</span>.<span.class="line">..
99020 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 75 6c 6c 22 ...next.=.<span.class="tok-null"
99040 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 6c 61 73 73 >null</span>,</span>.<span.class
99060 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 20 63 ="line">.....name.=.&amp;<span.c
99080 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 41 26 71 75 6f 74 lass="tok-str">&quot;Node.A&quot
990a0 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
990c0 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"
990e0 3e 3c 2f 73 70 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
99100 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 65 n.class="tok-kw">var</span>.node
99120 5f 62 20 3d 20 4e 6f 64 65 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c _b.=.Node{</span>.<span.class="l
99140 69 6e 65 22 3e 20 20 20 20 2e 6e 65 78 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 5f 61 2c 3c 2f 73 ine">.....next.=.&amp;node_a,</s
99160 70 61 6e 3e 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 61 6d pan>.<span.class="line">.....nam
99180 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 3e 26 e.=.&amp;<span.class="tok-str">&
991a0 71 75 6f 74 3b 4e 6f 64 65 20 42 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e quot;Node.B&quot;</span>,</span>
991c0 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 3c 2f 63 .<span.class="line">};</span></c
991e0 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>...
99200 20 20 20 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c ....In.this.example,.the.<code><
99220 73 70 61 6e 20 63 6c 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 span.class="line">Node</span></c
99240 6f 64 65 3e 20 73 74 72 75 63 74 20 72 65 66 65 72 73 20 74 6f 20 69 74 73 65 6c 66 2e 0a 20 20 ode>.struct.refers.to.itself....
99260 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 62 65 63 61 75 73 65 20 61 6c 6c 20 74 6f 70 20 6c ....This.works.because.all.top.l
99280 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 evel.declarations.are.order-inde
992a0 70 65 6e 64 65 6e 74 2e 0a 20 20 20 20 20 20 41 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 63 6f pendent........As.long.as.the.co
992c0 6d 70 69 6c 65 72 20 63 61 6e 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 73 69 7a 65 20 6f 66 mpiler.can.determine.the.size.of
992e0 20 74 68 65 20 73 74 72 75 63 74 2c 20 69 74 20 69 73 20 66 72 65 65 20 74 6f 20 72 65 66 65 72 .the.struct,.it.is.free.to.refer
99300 20 74 6f 20 69 74 73 65 6c 66 2e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 .to.itself........In.this.case,.
99320 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4e 6f 64 65 3c 2f 73 <code><span.class="line">Node</s
99340 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 6f 20 69 74 73 65 6c 66 20 61 73 20 pan></code>.refers.to.itself.as.
99360 61 20 70 6f 69 6e 74 65 72 2c 20 77 68 69 63 68 20 68 61 73 20 61 0a 20 20 20 20 20 20 77 65 6c a.pointer,.which.has.a.......wel
99380 6c 2d 64 65 66 69 6e 65 64 20 73 69 7a 65 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2c 20 l-defined.size.at.compile.time,.
993a0 73 6f 20 69 74 20 77 6f 72 6b 73 20 66 69 6e 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 so.it.works.fine........</p>....
993c0 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 ..........<h3.id="Case-Study-pri
993e0 6e 74 2d 69 6e 2d 5a 69 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 73 65 2d 53 74 nt-in-Zig"><a.href="#toc-Case-St
99400 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 3e 43 61 73 65 20 53 74 75 64 79 3a 20 70 72 udy-print-in-Zig">Case.Study:.pr
99420 69 6e 74 20 69 6e 20 5a 69 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 int.in.Zig</a>.<a.class="hdr".hr
99440 65 66 3d 22 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 c2 a7 ef="#Case-Study-print-in-Zig">..
99460 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 50 75 74 74 69 </a></h3>........<p>.......Putti
99480 6e 67 20 61 6c 6c 20 6f 66 20 74 68 69 73 20 74 6f 67 65 74 68 65 72 2c 20 6c 65 74 27 73 20 73 ng.all.of.this.together,.let's.s
994a0 65 65 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 ee.how.<code><span.class="line">
994c0 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 6f 72 6b 73 20 69 6e 20 5a 69 67 print</span></code>.works.in.Zig
994e0 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
99500 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
99520 73 73 3d 22 66 69 6c 65 22 3e 70 72 69 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ss="file">print.zig</cite></figc
99540 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
99560 69 6e 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<
99580 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-
995a0 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
995c0 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
995e0 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.
99600 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
99620 3d 22 6c 69 6e 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
99640 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d st</span>.a_number:.<span.class=
99660 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
99680 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 73 ass="tok-number">1234</span>;</s
996a0 70 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
996c0 61 73 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 73 74 72 69 ass="tok-kw">const</span>.a_stri
996e0 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 75 6f 74 ng.=.<span.class="tok-str">&quot
99700 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 3e 0a 3c 73 70 ;foobar&quot;</span>;</span>.<sp
99720 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
99740 61 73 73 3d 22 6c 69 6e 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">
99760 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">
99780 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
997a0 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
997c0 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
997e0 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 6c 61 73 lass="line">....print(<span.clas
99800 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 73 74 72 69 s="tok-str">&quot;here.is.a.stri
99820 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 72 3a 20 7b 7d 5c 6e ng:.'{s}'.here.is.a.number:.{}\n
99840 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 61 5f 73 74 72 69 6e 67 2c 20 61 5f 6e 75 6d &quot;</span>,..{a_string,.a_num
99860 62 65 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 6e 65 22 ber});</span>.<span.class="line"
99880 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><
998a0 66 69 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-
998c0 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
998e0 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
99900 62 75 69 6c 64 2d 65 78 65 20 70 72 69 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e build-exe.print.zig</kbd></span>
99920 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
99940 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 70 72 69 6e 74 3c 2f 6b n.class="line">$.<kbd>./print</k
99960 62 64 3e 3c 2f 73 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 bd></span>.<span.class="line">he
99980 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 66 6f 6f 62 61 72 27 20 68 65 72 65 20 69 73 re.is.a.string:.'foobar'.here.is
999a0 20 61 20 6e 75 6d 62 65 72 3a 20 31 32 33 34 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f .a.number:.1234</span>.</samp></
999c0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c pre></figure>........<p>.......L
999e0 65 74 27 73 20 63 72 61 63 6b 20 6f 70 65 6e 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 et's.crack.open.the.implementati
99a00 6f 6e 20 6f 66 20 74 68 69 73 20 61 6e 64 20 73 65 65 20 68 6f 77 20 69 74 20 77 6f 72 6b 73 3a on.of.this.and.see.how.it.works:
99a20 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 .......</p>........<figure><figc
99a40 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
99a60 73 73 3d 22 66 69 6c 65 22 3e 70 6f 63 5f 70 72 69 6e 74 5f 66 6e 2e 7a 69 67 3c 2f 63 69 74 65 ss="file">poc_print_fn.zig</cite
99a80 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
99aa0 6c 61 73 73 3d 22 6c 69 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"
99ac0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 72 69 74 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 >const</span>.Writer.=.<span.cla
99ae0 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
99b00 6e 3e 0a 3c 73 70 61 6e 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.
99b20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 43 61 6c 6c 73 20 70 72 class="tok-comment">///.Calls.pr
99b40 69 6e 74 20 61 6e 64 20 74 68 65 6e 20 66 6c 75 73 68 65 73 20 74 68 65 20 62 75 66 66 65 72 2e int.and.then.flushes.the.buffer.
99b60 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
99b80 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</
99ba0 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
99bc0 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<
99be0 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 /span>(self:.*Writer,.<span.clas
99c00 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 6f 72 6d 61 s="tok-kw">comptime</span>.forma
99c20 74 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 t:.[]<span.class="tok-kw">const<
99c40 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 /span>.<span.class="tok-type">u8
99c60 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>,.args:.<span.class="tok-
99c80 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=
99ca0 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e "tok-type">anyerror</span>!<span
99cc0 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>.{<
99ce0 2f 73 70 61 6e 3e 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">......
99d00 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
99d20 61 6e 3e 20 53 74 61 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 an>.State.=.<span.class="tok-kw"
99d40 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
99d60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 2c 3c 2f 73 70 61 s="line">............start,</spa
99d80 6e 3e 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">..........
99da0 20 20 6f 70 65 6e 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 ..open_brace,</span>.<span.class
99dc0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 73 65 5f 62 72 61 63 65 2c ="line">............close_brace,
99de0 3c 2f 73 70 61 6e 3e 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">.....
99e00 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">
99e20 3c 2f 73 70 61 6e 3e 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">.....
99e40 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
99e60 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 </span>.<span.class="tok-kw">var
99e80 3c 2f 73 70 61 6e 3e 20 73 74 61 72 74 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 </span>.start_index:.<span.class
99ea0 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
99ec0 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
99ee0 70 61 6e 3e 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">........
99f00 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
99f20 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 73 pan>.<span.class="tok-kw">var</s
99f40 70 61 6e 3e 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 73 74 61 72 74 3b 3c 2f 73 70 61 6e 3e pan>.state.=.State.start;</span>
99f60 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
99f80 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>
99fa0 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>
99fc0 20 6e 65 78 74 5f 61 72 67 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 .next_arg:.<span.class="tok-type
99fe0 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
9a000 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
9a020 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
9a040 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
9a060 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 3d k-kw">inline</span>.<span.class=
9a080 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 66 6f 72 6d 61 74 29 20 7c 63 2c "tok-kw">for</span>.(format).|c,
9a0a0 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 3e .i|.{</span>.<span.class="line">
9a0c0 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"
9a0e0 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 73 74 61 74 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a >switch</span>.(state).{</span>.
9a100 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">.............
9a120 20 20 20 53 74 61 74 65 2e 73 74 61 72 74 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 ...State.start.=&gt;.<span.class
9a140 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 3c 2f 73 ="tok-kw">switch</span>.(c).{</s
9a160 70 61 6e 3e 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">........
9a180 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 73 74 72 ............<span.class="tok-str
9a1a0 22 3e 27 7b 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 73 70 61 ">'{'</span>.=&gt;.{</span>.<spa
9a1c0 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">.................
9a1e0 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</
9a200 73 70 61 6e 3e 20 28 73 74 61 72 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 69 29 20 3c 73 70 61 6e span>.(start_index.&lt;.i).<span
9a220 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e .class="tok-kw">try</span>.self.
9a240 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 69 5d 29 3b 3c 2f write(format[start_index..i]);</
9a260 73 70 61 6e 3e 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">.......
9a280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 6f .................state.=.State.o
9a2a0 70 65 6e 5f 62 72 61 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 pen_brace;</span>.<span.class="l
9a2c0 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 7d 2c 3c 2f 73 70 61 ine">....................},</spa
9a2e0 6e 3e 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">..........
9a300 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e ..........<span.class="tok-str">
9a320 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 73 70 61 6e 20 '}'</span>.=&gt;.{</span>.<span.
9a340 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">...................
9a360 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
9a380 61 6e 3e 20 28 73 74 61 72 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 69 29 20 3c 73 70 61 6e 20 63 an>.(start_index.&lt;.i).<span.c
9a3a0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 lass="tok-kw">try</span>.self.wr
9a3c0 69 74 65 28 66 6f 72 6d 61 74 5b 73 74 61 72 74 5f 69 6e 64 65 78 2e 2e 69 5d 29 3b 3c 2f 73 70 ite(format[start_index..i]);</sp
9a3e0 61 6e 3e 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">.........
9a400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 63 6c 6f ...............state.=.State.clo
9a420 73 65 5f 62 72 61 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 se_brace;</span>.<span.class="li
9a440 6e 65 22 3e 20 20 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 ne">....................},</span
9a460 3e 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">...........
9a480 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 65 6c .........<span.class="tok-kw">el
9a4a0 73 65 3c 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 se</span>.=&gt;.{},</span>.<span
9a4c0 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 7d 2c .class="line">................},
9a4e0 3c 2f 73 70 61 6e 3e 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">.....
9a500 20 20 20 20 20 20 20 20 20 20 20 53 74 61 74 65 2e 6f 70 65 6e 5f 62 72 61 63 65 20 3d 26 67 74 ...........State.open_brace.=&gt
9a520 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 73 ;.<span.class="tok-kw">switch</s
9a540 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 6c pan>.(c).{</span>.<span.class="l
9a560 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
9a580 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 20 lass="tok-str">'{'</span>.=&gt;.
9a5a0 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">....
9a5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 ....................state.=.Stat
9a5e0 65 2e 73 74 61 72 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 e.start;</span>.<span.class="lin
9a600 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 72 74 e">........................start
9a620 5f 69 6e 64 65 78 20 3d 20 69 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 _index.=.i;</span>.<span.class="
9a640 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 7d 2c 3c 2f 73 70 line">....................},</sp
9a660 61 6e 3e 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">.........
9a680 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 73 74 72 22 ...........<span.class="tok-str"
9a6a0 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 73 70 61 6e >'}'</span>.=&gt;.{</span>.<span
9a6c0 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 20 .class="line">..................
9a6e0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ......<span.class="tok-kw">try</
9a700 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 56 61 6c 75 65 28 61 72 67 73 5b 6e 65 78 74 5f span>.self.printValue(args[next_
9a720 61 72 67 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 arg]);</span>.<span.class="line"
9a740 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 6e 65 78 74 5f 61 72 >........................next_ar
9a760 67 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 3c g.+=.<span.class="tok-number">1<
9a780 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
9a7a0 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 74 65 20 ">........................state.
9a7c0 3d 20 53 74 61 74 65 2e 73 74 61 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 =.State.start;</span>.<span.clas
9a7e0 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 20 s="line">.......................
9a800 20 73 74 61 72 74 5f 69 6e 64 65 78 20 3d 20 69 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .start_index.=.i.+.<span.class="
9a820 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
9a840 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">................
9a860 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 22 ....},</span>.<span.class="line"
9a880 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 73 73 >....................<span.class
9a8a0 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 73 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 ="tok-str">'s'</span>.=&gt;.{</s
9a8c0 70 61 6e 3e 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">........
9a8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ................<span.class="tok
9a900 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 73 70 -kw">continue</span>;</span>.<sp
9a920 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">................
9a940 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 22 ....},</span>.<span.class="line"
9a960 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 73 73 >....................<span.class
9a980 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
9a9a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 n.class="tok-builtin">@compileEr
9a9c0 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ror</span>(<span.class="tok-str"
9a9e0 3e 26 71 75 6f 74 3b 55 6e 6b 6e 6f 77 6e 20 66 6f 72 6d 61 74 20 63 68 61 72 61 63 74 65 72 3a >&quot;Unknown.format.character:
9aa00 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .&quot;</span>.++.[<span.class="
9aa20 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 tok-number">1</span>]<span.class
9aa40 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 63 7d 29 2c 3c 2f 73 70 61 6e ="tok-type">u8</span>{c}),</span
9aa60 3e 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">...........
9aa80 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
9aaa0 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 74 61 74 65 2e 63 6c 6f 73 65 5f 62 72 ">................State.close_br
9aac0 61 63 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 ace.=&gt;.<span.class="tok-kw">s
9aae0 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 3c 73 70 61 6e 20 witch</span>.(c).{</span>.<span.
9ab00 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">...................
9ab20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7d 27 3c 2f 73 70 61 6e .<span.class="tok-str">'}'</span
9ab40 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 6c 69 >.=&gt;.{</span>.<span.class="li
9ab60 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 74 ne">........................stat
9ab80 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 70 61 6e 20 63 6c e.=.State.start;</span>.<span.cl
9aba0 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 20 20 ass="line">.....................
9abc0 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 0a 3c 73 70 61 6e ...start_index.=.i;</span>.<span
9abe0 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 20 .class="line">..................
9ac00 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 22 3e 20 ..},</span>.<span.class="line">.
9ac20 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="
9ac40 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 tok-kw">else</span>.=&gt;.<span.
9ac60 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
9ac80 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 r</span>(<span.class="tok-str">&
9aca0 71 75 6f 74 3b 53 69 6e 67 6c 65 20 27 7d 27 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 69 6e 20 66 quot;Single.'}'.encountered.in.f
9acc0 6f 72 6d 61 74 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 ormat.string&quot;</span>),</spa
9ace0 6e 3e 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">..........
9ad00 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
9ad20 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 61 6e 20 63 6c e">............}</span>.<span.cl
9ad40 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 70 61 ass="line">........}</span>.<spa
9ad60 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
9ad80 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
9ada0 70 61 6e 3e 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">........
9adc0 20 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
9ade0 6e 3e 20 28 61 72 67 73 2e 6c 65 6e 20 21 3d 20 6e 65 78 74 5f 61 72 67 29 20 7b 3c 2f 73 70 61 n>.(args.len.!=.next_arg).{</spa
9ae00 6e 3e 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">..........
9ae20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e ......<span.class="tok-builtin">
9ae40 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 73 73 @compileError</span>(<span.class
9ae60 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 6e 75 73 65 64 20 61 72 67 75 6d 65 6e 74 ="tok-str">&quot;Unused.argument
9ae80 73 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 s&quot;</span>);</span>.<span.cl
9aea0 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 73 70 61 6e 3e 0a ass="line">............}</span>.
9aec0 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">............<
9aee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 span.class="tok-kw">if</span>.(s
9af00 74 61 74 65 20 21 3d 20 53 74 61 74 65 2e 73 74 61 72 74 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 tate.!=.State.start).{</span>.<s
9af20 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">...............
9af40 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 6d 70 .<span.class="tok-builtin">@comp
9af60 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ileError</span>(<span.class="tok
9af80 2d 73 74 72 22 3e 26 71 75 6f 74 3b 49 6e 63 6f 6d 70 6c 65 74 65 20 66 6f 72 6d 61 74 20 73 74 -str">&quot;Incomplete.format.st
9afa0 72 69 6e 67 3a 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 66 6f 72 6d 61 74 29 3b 3c ring:.&quot;</span>.++.format);<
9afc0 2f 73 70 61 6e 3e 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">......
9afe0 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
9b000 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 22 ">........}</span>.<span.class="
9b020 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
9b040 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 72 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 66 w">if</span>.(start_index.&lt;.f
9b060 6f 72 6d 61 74 2e 6c 65 6e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ormat.len).{</span>.<span.class=
9b080 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="
9b0a0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f tok-kw">try</span>.self.write(fo
9b0c0 72 6d 61 74 5b 73 74 61 72 74 5f 69 6e 64 65 78 2e 2e 66 6f 72 6d 61 74 2e 6c 65 6e 5d 29 3b 3c rmat[start_index..format.len]);<
9b0e0 2f 73 70 61 6e 3e 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">......
9b100 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">..
9b120 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f ......<span.class="tok-kw">try</
9b140 73 70 61 6e 3e 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 span>.self.flush();</span>.<span
9b160 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
9b180 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
9b1a0 73 3d 22 6c 69 6e 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
9b1c0 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"
9b1e0 3e 77 72 69 74 65 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c >write</span>(self:.*Writer,.val
9b200 75 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ue:.[]<span.class="tok-kw">const
9b220 3c 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
9b240 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
9b260 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
9b280 73 73 3d 22 6c 69 6e 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 ss="line">........_.=.self;</spa
9b2a0 6e 3e 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">........_.
9b2c0 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
9b2e0 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
9b300 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 70 75 62 3c e">....<span.class="tok-kw">pub<
9b320 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</
9b340 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 span>.<span.class="tok-fn">print
9b360 56 61 6c 75 65 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 Value</span>(self:.*Writer,.valu
9b380 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<
9b3a0 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e /span>).!<span.class="tok-type">
9b3c0 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
9b3e0 3d 22 6c 69 6e 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 ="line">........_.=.self;</span>
9b400 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">........_.=.
9b420 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 65 22 value;</span>.<span.class="line"
9b440 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"
9b460 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 6e 3c 2f 73 70 >....<span.class="tok-kw">fn</sp
9b480 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6c 75 73 68 3c 2f an>.<span.class="tok-fn">flush</
9b4a0 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 span>(self:.*Writer).!<span.clas
9b4c0 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
9b4e0 3e 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">........_.=
9b500 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 22 .self;</span>.<span.class="line"
9b520 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"
9b540 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 65 3e >};</span></code></pre></figure>
9b560 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 70 72 6f 6f 66 .......<p>.......This.is.a.proof
9b580 20 6f 66 20 63 6f 6e 63 65 70 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 3b 20 74 68 65 20 .of.concept.implementation;.the.
9b5a0 61 63 74 75 61 6c 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 actual.function.in.the.standard.
9b5c0 6c 69 62 72 61 72 79 20 68 61 73 20 6d 6f 72 65 0a 20 20 20 20 20 20 66 6f 72 6d 61 74 74 69 6e library.has.more.......formattin
9b5e0 67 20 63 61 70 61 62 69 6c 69 74 69 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 g.capabilities........</p>......
9b600 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 69 73 20 6e 6f 74 .<p>.......Note.that.this.is.not
9b620 20 68 61 72 64 2d 63 6f 64 65 64 20 69 6e 74 6f 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 .hard-coded.into.the.Zig.compile
9b640 72 3b 20 74 68 69 73 20 69 73 20 75 73 65 72 6c 61 6e 64 20 63 6f 64 65 20 69 6e 20 74 68 65 20 r;.this.is.userland.code.in.the.
9b660 73 74 61 6e 64 61 72 64 20 6c 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>....
9b680 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 ...<p>.......When.this.function.
9b6a0 69 73 20 61 6e 61 6c 79 7a 65 64 20 66 72 6f 6d 20 6f 75 72 20 65 78 61 6d 70 6c 65 20 63 6f 64 is.analyzed.from.our.example.cod
9b6c0 65 20 61 62 6f 76 65 2c 20 5a 69 67 20 70 61 72 74 69 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 73 e.above,.Zig.partially.evaluates
9b6e0 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 61 6e 64 20 65 6d 69 74 73 20 61 20 .the.function.......and.emits.a.
9b700 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 63 74 75 61 6c 6c 79 20 6c 6f 6f 6b 73 20 6c 69 6b function.that.actually.looks.lik
9b720 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 e.this:.......</p>.......<figure
9b740 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
9b760 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 45 6d 69 74 74 65 64 20 70 72 69 6e 74 20 46 75 te.class="file">Emitted.print.Fu
9b780 6e 63 74 69 6f 6e 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 nction</cite></figcaption><pre><
9b7a0 63 6f 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
9b7c0 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
9b7e0 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
9b800 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a ss="tok-fn">print</span>(self:.*
9b820 57 72 69 74 65 72 2c 20 61 72 67 30 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b Writer,.arg0:.[]<span.class="tok
9b840 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
9b860 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 31 3a 20 3c 73 70 61 6e 20 ok-type">u8</span>,.arg1:.<span.
9b880 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 class="tok-type">i32</span>).!<s
9b8a0 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>
9b8c0 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">...
9b8e0 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>
9b900 20 73 65 6c 66 2e 77 72 69 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 .self.write(<span.class="tok-str
9b920 22 3e 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 26 71 75 6f 74 ">&quot;here.is.a.string:.'&quot
9b940 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
9b960 69 6e 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
9b980 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 56 61 6c 75 65 28 61 72 67 30 29 3b 3c y</span>.self.printValue(arg0);<
9b9a0 2f 73 70 61 6e 3e 0a 3c 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
9b9c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 pan.class="tok-kw">try</span>.se
9b9e0 6c 66 2e 77 72 69 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 lf.write(<span.class="tok-str">&
9ba00 71 75 6f 74 3b 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 26 71 75 6f 74 3b 3c quot;'.here.is.a.number:.&quot;<
9ba20 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
9ba40 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<
9ba60 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 56 61 6c 75 65 28 61 72 67 31 29 3b 3c 2f 73 /span>.self.printValue(arg1);</s
9ba80 70 61 6e 3e 0a 3c 73 70 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
9baa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 n.class="tok-kw">try</span>.self
9bac0 2e 77 72 69 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .write(<span.class="tok-str">&qu
9bae0 6f 74 3b 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 ot;\n&quot;</span>);</span>.<spa
9bb00 6e 20 63 6c 61 73 73 3d 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="
9bb20 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 3b tok-kw">try</span>.self.flush();
9bb40 3c 2f 73 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
9bb60 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>.......
9bb80 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
9bba0 65 22 3e 70 72 69 6e 74 56 61 6c 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 e">printValue</span></code>.is.a
9bbc0 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 70 61 72 61 6d 65 74 65 72 .function.that.takes.a.parameter
9bbe0 20 6f 66 20 61 6e 79 20 74 79 70 65 2c 20 61 6e 64 20 64 6f 65 73 20 64 69 66 66 65 72 65 6e 74 .of.any.type,.and.does.different
9bc00 20 74 68 69 6e 67 73 20 64 65 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 6f 6e 20 74 68 65 20 74 .things.depending.......on.the.t
9bc20 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 65 3e 3c 66 ype:.......</p>.......<figure><f
9bc40 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.
9bc60 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 6f 63 5f 70 72 69 6e 74 56 61 6c 75 65 5f 66 6e 2e 7a class="file">poc_printValue_fn.z
9bc80 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
9bca0 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=
9bcc0 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 3c "tok-kw">const</span>.Writer.=.<
9bce0 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
9bd00 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">..
9bd20 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
9bd40 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>
9bd60 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 56 61 6c 75 65 .<span.class="tok-fn">printValue
9bd80 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 </span>(self:.*Writer,.value:.<s
9bda0 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
9bdc0 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c >).!<span.class="tok-type">void<
9bde0 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
9be00 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">
9be20 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d switch</span>.(<span.class="tok-
9be40 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.
9be60 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
9be80 6e 3e 28 76 61 6c 75 65 29 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 n>(value))).{</span>.<span.class
9bea0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 49 6e 74 20 3d 26 67 74 3b 20 7b ="line">.............Int.=&gt;.{
9bec0 3c 2f 73 70 61 6e 3e 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">.....
9bee0 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">
9bf00 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 49 6e 74 28 76 61 6c 75 return</span>.self.writeInt(valu
9bf20 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 22 3e 20 20 e);</span>.<span.class="line">..
9bf40 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 73 3d ..........},</span>.<span.class=
9bf60 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 46 6c 6f 61 74 20 3d 26 67 74 3b 20 "line">.............Float.=&gt;.
9bf80 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">....
9bfa0 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"
9bfc0 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 46 6c 6f 61 74 28 76 >return</span>.self.writeFloat(v
9bfe0 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 22 alue);</span>.<span.class="line"
9c000 3e 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 >............},</span>.<span.cla
9c020 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 50 6f 69 6e 74 65 72 20 3d ss="line">.............Pointer.=
9c040 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"
9c060 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 6f >................<span.class="to
9c080 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 76 k-kw">return</span>.self.write(v
9c0a0 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 22 alue);</span>.<span.class="line"
9c0c0 3e 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 >............},</span>.<span.cla
9c0e0 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
9c100 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 3c 2f s="tok-kw">else</span>.=&gt;.{</
9c120 73 70 61 6e 3e 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">.......
9c140 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 .........<span.class="tok-builti
9c160 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c n">@compileError</span>(<span.cl
9c180 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 6e 61 62 6c 65 20 74 6f 20 70 72 ass="tok-str">&quot;Unable.to.pr
9c1a0 69 6e 74 20 74 79 70 65 20 27 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 3c 73 70 61 6e int.type.'&quot;</span>.++.<span
9c1c0 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 2f .class="tok-builtin">@typeName</
9c1e0 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">
9c200 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 29 20 2b 2b 20 3c 73 70 61 6e 20 @TypeOf</span>(value)).++.<span.
9c220 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 3c 2f 73 class="tok-str">&quot;'&quot;</s
9c240 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"
9c260 3e 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 >............},</span>.<span.cla
9c280 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 70 61 6e ss="line">........}</span>.<span
9c2a0 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
9c2c0 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
9c2e0 73 3d 22 6c 69 6e 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
9c300 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"
9c320 3e 77 72 69 74 65 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c >write</span>(self:.*Writer,.val
9c340 75 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ue:.[]<span.class="tok-kw">const
9c360 3c 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
9c380 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
9c3a0 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
9c3c0 73 73 3d 22 6c 69 6e 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 ss="line">........_.=.self;</spa
9c3e0 6e 3e 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">........_.
9c400 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
9c420 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
9c440 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 6e 3c 2f e">....<span.class="tok-kw">fn</
9c460 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 72 69 74 65 span>.<span.class="tok-fn">write
9c480 49 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 76 61 6c 75 65 3a Int</span>(self:.*Writer,.value:
9c4a0 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
9c4c0 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f pan>).!<span.class="tok-type">vo
9c4e0 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="
9c500 6c 69 6e 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 line">........_.=.self;</span>.<
9c520 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 76 61 span.class="line">........_.=.va
9c540 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 65 22 3e 20 lue;</span>.<span.class="line">.
9c560 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">.
9c580 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 6e 3c 2f 73 70 61 6e ...<span.class="tok-kw">fn</span
9c5a0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 72 69 74 65 46 6c 6f 61 >.<span.class="tok-fn">writeFloa
9c5c0 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c t</span>(self:.*Writer,.value:.<
9c5e0 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
9c600 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 n>).!<span.class="tok-type">void
9c620 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
9c640 6e 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 ne">........_.=.self;</span>.<sp
9c660 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 76 61 6c 75 an.class="line">........_.=.valu
9c680 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">...
9c6a0 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 3b 3c .}</span>.<span.class="line">};<
9c6c0 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>....
9c6e0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 64 20 6e 6f 77 2c 20 77 68 61 74 20 68 61 70 70 65 ...<p>.......And.now,.what.happe
9c700 6e 73 20 69 66 20 77 65 20 67 69 76 65 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 ns.if.we.give.too.many.arguments
9c720 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 70 72 69 .to.<code><span.class="line">pri
9c740 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 nt</span></code>?.......</p>....
9c760 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
9c780 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 2e 7a g-cap"><cite.class="file">test.z
9c7a0 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
9c7c0 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=
9c7e0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 "tok-kw">const</span>.print.=.<s
9c800 70 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<
9c820 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
9c840 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 ot;std&quot;</span>).debug.print
9c860 3b 3c 2f 73 70 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
9c880 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
9c8a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d 62 65 ss="tok-kw">const</span>.a_numbe
9c8c0 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 r:.<span.class="tok-type">i32</s
9c8e0 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">
9c900 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 3d 1234</span>;</span>.<span.class=
9c920 22 6c 69 6e 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
9c940 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 73 3d t</span>.a_string.=.<span.class=
9c960 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 70 "tok-str">&quot;foobar&quot;</sp
9c980 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"><
9c9a0 2f 73 70 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.
9c9c0 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
9c9e0 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 6f 6f .class="tok-str">&quot;print.too
9ca00 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 3c 2f .many.arguments&quot;</span>.{</
9ca20 73 70 61 6e 3e 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
9ca40 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 68 nt(<span.class="tok-str">&quot;h
9ca60 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 20 61 ere.is.a.string:.'{s}'.here.is.a
9ca80 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 3c 2f .number:.{}\n&quot;</span>,..{</
9caa0 73 70 61 6e 3e 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">.......
9cac0 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 22 6c .a_string,</span>.<span.class="l
9cae0 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 3c 73 ine">........a_number,</span>.<s
9cb00 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 62 65 pan.class="line">........a_numbe
9cb20 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 20 20 r,</span>.<span.class="line">...
9cb40 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 3e 7d .});</span>.<span.class="line">}
9cb60 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
9cb80 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
9cba0 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>
9cbc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 <span.class="line">$.<kbd>zig.te
9cbe0 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 st.test.zig</kbd></span>.<span.c
9cc00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e lass="line"><span.class="t0_1">.
9cc20 2f 6c 69 62 2f 73 74 64 2f 66 6d 74 2e 7a 69 67 3a 31 39 37 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e /lib/std/fmt.zig:197:18:.</span>
9cc40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 <span.class="t31_1">error:.</spa
9cc60 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 55 6e 75 73 65 64 20 61 72 67 75 n><span.class="t0_1">Unused.argu
9cc80 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 20 27 7b 73 7d 27 ment.in.'here.is.a.string:.'{s}'
9cca0 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .here.is.a.number:.{}</span>.<sp
9ccc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a an.class="line">'</span></span>.
9cce0 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 31 <span.class="line">............1
9cd00 20 3d 26 67 74 3b 20 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 28 26 71 75 6f 74 3b 55 6e 75 73 65 .=&gt;.@compileError(&quot;Unuse
9cd20 64 20 61 72 67 75 6d 65 6e 74 20 69 6e 20 27 26 71 75 6f 74 3b 20 2b 2b 20 66 6d 74 20 2b 2b 20 d.argument.in.'&quot;.++.fmt.++.
9cd40 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;'&quot;),</span>.<span.cla
9cd60 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 3c 73 70 61 6e ss="line">.................<span
9cd80 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
9cda0 73 70 61 6e 20 63 6c 61 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
9cdc0 30 5f 31 22 3e 2e 2f 6c 69 62 2f 73 74 64 2f 69 6f 2f 77 72 69 74 65 72 2e 7a 69 67 3a 32 38 3a 0_1">./lib/std/io/writer.zig:28:
9cde0 33 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 34:.</span><span.class="t36_1">n
9ce00 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 74 30 5f 31 22 3e 63 ote:.</span><span.class="t0_1">c
9ce20 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 alled.from.here</span></span>.<s
9ce40 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 65 74 pan.class="line">............ret
9ce60 75 72 6e 20 73 74 64 2e 66 6d 74 2e 66 6f 72 6d 61 74 28 73 65 6c 66 2c 20 66 6f 72 6d 61 74 2c urn.std.fmt.format(self,.format,
9ce80 20 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 .args);</span>.<span.class="line
9cea0 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 20 20 20 20 20 20 ">..............................
9cec0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c ...<span.class="t32_1">^</span><
9cee0 2f 73 70 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.
9cf00 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 6c 69 62 2f 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 class="t0_1">./lib/std/debug.zig
9cf20 3a 36 37 3a 32 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f :67:27:.</span><span.class="t36_
9cf40 31 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 74 30 5f 1">note:.</span><span.class="t0_
9cf60 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 1">called.from.here</span></span
9cf80 3e 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 6f 73 75 73 70 65 >.<span.class="line">....nosuspe
9cfa0 6e 64 20 73 74 64 65 72 72 2e 70 72 69 6e 74 28 66 6d 74 2c 20 61 72 67 73 29 20 63 61 74 63 68 nd.stderr.print(fmt,.args).catch
9cfc0 20 72 65 74 75 72 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 .return;</span>.<span.class="lin
9cfe0 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 20 20 3c 73 70 e">..........................<sp
9d000 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e an.class="t32_1">^</span></span>
9d020 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=
9d040 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 31 "t0_1">./docgen_tmp/test.zig:7:1
9d060 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 0:.</span><span.class="t36_1">no
9d080 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 te:.</span><span.class="t0_1">ca
9d0a0 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lled.from.here</span></span>.<sp
9d0c0 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 26 71 75 6f 74 3b an.class="line">....print(&quot;
9d0e0 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 20 here.is.a.string:.'{s}'.here.is.
9d100 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a a.number:.{}\n&quot;,..{</span>.
9d120 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 3c 73 70 61 <span.class="line">.........<spa
9d140 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
9d160 3c 73 70 61 6e 20 63 6c 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="
9d180 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 33 33 t0_1">./docgen_tmp/test.zig:6:33
9d1a0 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 :.</span><span.class="t36_1">not
9d1c0 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c e:.</span><span.class="t0_1">cal
9d1e0 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 led.from.here</span></span>.<spa
9d200 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 65 73 74 20 26 71 75 6f 74 3b 70 72 69 6e 74 20 n.class="line">test.&quot;print.
9d220 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 26 71 75 6f 74 3b 20 7b 3c 2f 73 70 61 6e too.many.arguments&quot;.{</span
9d240 3e 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">...........
9d260 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
9d280 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="t32_1">^</span></span>.<span.c
9d2a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e lass="line"><span.class="t0_1">.
9d2c0 2f 6c 69 62 2f 73 74 64 2f 69 6f 2f 77 72 69 74 65 72 2e 7a 69 67 3a 32 38 3a 33 34 3a 20 3c 2f /lib/std/io/writer.zig:28:34:.</
9d2e0 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 span><span.class="t31_1">error:.
9d300 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 70 65 63 74 </span><span.class="t0_1">expect
9d320 65 64 20 74 79 70 65 20 27 73 74 64 2e 6f 73 2e 57 72 69 74 65 45 72 72 6f 72 21 76 6f 69 64 27 ed.type.'std.os.WriteError!void'
9d340 2c 20 66 6f 75 6e 64 20 27 40 74 79 70 65 49 6e 66 6f 28 40 74 79 70 65 49 6e 66 6f 28 40 54 79 ,.found.'@typeInfo(@typeInfo(@Ty
9d360 70 65 4f 66 28 73 74 64 2e 66 6d 74 2e 66 6f 72 6d 61 74 29 29 2e 46 6e 2e 72 65 74 75 72 6e 5f peOf(std.fmt.format)).Fn.return_
9d380 74 79 70 65 2e 3f 29 2e 45 72 72 6f 72 55 6e 69 6f 6e 2e 65 72 72 6f 72 5f 73 65 74 21 76 6f 69 type.?).ErrorUnion.error_set!voi
9d3a0 64 27 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
9d3c0 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 64 2e 66 6d 74 2e 66 ne">............return.std.fmt.f
9d3e0 6f 72 6d 61 74 28 73 65 6c 66 2c 20 66 6f 72 6d 61 74 2c 20 61 72 67 73 29 3b 3c 2f 73 70 61 6e ormat(self,.format,.args);</span
9d400 3e 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">...........
9d420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ......................<span.clas
9d440 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="t32_1">^</span></span>.<span.
9d460 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e class="line"><span.class="t0_1">
9d480 2e 2f 6c 69 62 2f 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 3a 36 37 3a 32 37 3a 20 3c 2f 73 70 61 ./lib/std/debug.zig:67:27:.</spa
9d4a0 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 n><span.class="t36_1">note:.</sp
9d4c0 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f an><span.class="t0_1">called.fro
9d4e0 6d 20 68 65 72 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 m.here</span></span>.<span.class
9d500 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 73 75 73 70 65 6e 64 20 73 74 64 65 72 72 2e 70 72 69 ="line">....nosuspend.stderr.pri
9d520 6e 74 28 66 6d 74 2c 20 61 72 67 73 29 20 63 61 74 63 68 20 72 65 74 75 72 6e 3b 3c 2f 73 70 61 nt(fmt,.args).catch.return;</spa
9d540 6e 3e 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">..........
9d560 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 33 32 ................<span.class="t32
9d580 5f 31 22 3e 5e 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 _1">^</span></span>.<span.class=
9d5a0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 "line"><span.class="t0_1">./docg
9d5c0 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 31 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 en_tmp/test.zig:7:10:.</span><sp
9d5e0 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 an.class="t36_1">note:.</span><s
9d600 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 pan.class="t0_1">called.from.her
9d620 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
9d640 65 22 3e 20 20 20 20 70 72 69 6e 74 28 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 e">....print(&quot;here.is.a.str
9d660 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 72 3a 20 7b 7d 5c ing:.'{s}'.here.is.a.number:.{}\
9d680 6e 26 71 75 6f 74 3b 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 n&quot;,..{</span>.<span.class="
9d6a0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f line">.........<span.class="t32_
9d6c0 31 22 3e 5e 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="
9d6e0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 line"><span.class="t0_1">./docge
9d700 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 33 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 n_tmp/test.zig:6:33:.</span><spa
9d720 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 n.class="t36_1">note:.</span><sp
9d740 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 an.class="t0_1">called.from.here
9d760 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
9d780 22 3e 74 65 73 74 20 26 71 75 6f 74 3b 70 72 69 6e 74 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 ">test.&quot;print.too.many.argu
9d7a0 6d 65 6e 74 73 26 71 75 6f 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ments&quot;.{</span>.<span.class
9d7c0 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 20 20 ="line">........................
9d7e0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 ........<span.class="t32_1">^</s
9d800 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"><
9d820 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 6c 69 62 2f 73 74 64 2f 69 6f 2f 77 span.class="t0_1">./lib/std/io/w
9d840 72 69 74 65 72 2e 7a 69 67 3a 32 38 3a 33 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c riter.zig:28:34:.</span><span.cl
9d860 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 ass="t36_1">note:.</span><span.c
9d880 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 72 72 6f 72 20 73 65 74 20 27 40 74 79 70 65 49 6e 66 6f lass="t0_1">error.set.'@typeInfo
9d8a0 28 40 74 79 70 65 49 6e 66 6f 28 40 54 79 70 65 4f 66 28 73 74 64 2e 66 6d 74 2e 66 6f 72 6d 61 (@typeInfo(@TypeOf(std.fmt.forma
9d8c0 74 29 29 2e 46 6e 2e 72 65 74 75 72 6e 5f 74 79 70 65 2e 3f 29 2e 45 72 72 6f 72 55 6e 69 6f 6e t)).Fn.return_type.?).ErrorUnion
9d8e0 2e 65 72 72 6f 72 5f 73 65 74 27 20 63 61 6e 6e 6f 74 20 63 61 73 74 20 69 6e 74 6f 20 65 72 72 .error_set'.cannot.cast.into.err
9d900 6f 72 20 73 65 74 20 27 73 74 64 2e 6f 73 2e 57 72 69 74 65 45 72 72 6f 72 27 3c 2f 73 70 61 6e or.set.'std.os.WriteError'</span
9d920 3e 3c 2f 73 70 61 6e 3e 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">....
9d940 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 64 2e 66 6d 74 2e 66 6f 72 6d 61 74 28 73 65 ........return.std.fmt.format(se
9d960 6c 66 2c 20 66 6f 72 6d 61 74 2c 20 61 72 67 73 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 lf,.format,.args);</span>.<span.
9d980 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">...................
9d9a0 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 33 32 5f 31 ..............<span.class="t32_1
9d9c0 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c ">^</span></span>.</samp></pre><
9d9e0 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 5a 69 67 20 67 69 76 /figure>.......<p>.......Zig.giv
9da00 65 73 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 74 68 65 20 74 6f 6f 6c 73 20 6e 65 65 64 65 64 20 es.programmers.the.tools.needed.
9da20 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 6d 73 65 6c 76 65 73 20 61 67 61 69 6e 73 74 20 74 68 to.protect.themselves.against.th
9da40 65 69 72 20 6f 77 6e 20 6d 69 73 74 61 6b 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 eir.own.mistakes........</p>....
9da60 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 64 6f 65 73 6e 27 74 20 63 61 72 65 20 77 68 ...<p>.......Zig.doesn't.care.wh
9da80 65 74 68 65 72 20 74 68 65 20 66 6f 72 6d 61 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 73 ether.the.format.argument.is.a.s
9daa0 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2c 0a 20 20 20 20 20 20 6f 6e 6c 79 20 74 68 61 74 20 69 tring.literal,.......only.that.i
9dac0 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 t.is.a.compile-time.known.value.
9dae0 74 68 61 74 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 61 20 3c 63 6f 64 65 3e 3c that.can.be.coerced.to.a.<code><
9db00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d span.class="line">[]<span.class=
9db20 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
9db40 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 63 s="tok-type">u8</span></span></c
9db60 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c ode>:.......</p>.......<figure><
9db80 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
9dba0 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 72 69 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f .class="file">print.zig</cite></
9dbc0 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
9dbe0 73 3d 22 6c 69 6e 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
9dc00 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="
9dc20 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
9dc40 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
9dc60 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
9dc80 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
9dca0 6c 61 73 73 3d 22 6c 69 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"
9dcc0 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 6c >const</span>.a_number:.<span.cl
9dce0 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
9dd00 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>
9dd20 3b 3c 2f 73 70 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
9dd40 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.a_
9dd60 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 26 string.=.<span.class="tok-str">&
9dd80 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 3e quot;foobar&quot;</span>;</span>
9dda0 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=
9ddc0 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 61 "tok-kw">const</span>.fmt.=.<spa
9dde0 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 20 n.class="tok-str">&quot;here.is.
9de00 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 72 a.string:.'{s}'.here.is.a.number
9de20 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 61 :.{}\n&quot;</span>;</span>.<spa
9de40 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
9de60 73 73 3d 22 6c 69 6e 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
9de80 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ub</span>.<span.class="tok-kw">f
9dea0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 n</span>.<span.class="tok-fn">ma
9dec0 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 in</span>().<span.class="tok-typ
9dee0 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
9df00 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 74 ass="line">....print(fmt,..{a_st
9df20 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 63 ring,.a_number});</span>.<span.c
9df40 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
9df60 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
9df80 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
9dfa0 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
9dfc0 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 70 72 69 6e 74 2e 7a 69 67 3c 2f $.<kbd>zig.build-exe.print.zig</
9dfe0 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c kbd></span>.<span.class="line"><
9e000 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 /span>.<span.class="line">$.<kbd
9e020 3e 2e 2f 70 72 69 6e 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >./print</kbd></span>.<span.clas
9e040 73 3d 22 6c 69 6e 65 22 3e 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 66 6f 6f 62 s="line">here.is.a.string:.'foob
9e060 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 3c 2f 73 70 61 6e ar'.here.is.a.number:.1234</span
9e080 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>.......<
9e0a0 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 20 20 20 20 p>.......This.works.fine........
9e0c0 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 20 6e 6f </p>.......<p>.......Zig.does.no
9e0e0 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 74 69 6e 67 t.special.case.string.formatting
9e100 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 20 65 78 70 .in.the.compiler.and.instead.exp
9e120 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 69 73 68 20 oses.enough.power.to.accomplish.
9e140 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 20 49 74 20 this.......task.in.userland..It.
9e160 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 61 6e 6f 74 does.so.without.introducing.anot
9e180 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 73 75 63 68 her.language.on.top.of.Zig,.such
9e1a0 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 72 20 61 20 .as.......a.macro.language.or.a.
9e1c0 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 5a 69 67 20 preprocessor.language..It's.Zig.
9e1e0 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 0a 20 20 20 all.the.way.down........</p>....
9e200 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 3c ..........<p>See.also:</p><ul>.<
9e220 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 6e 6c 69 6e li><a.href="#inline-while">inlin
9e240 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 3d 22 23 69 e.while</a></li>.<li><a.href="#i
9e260 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 69 3e 0a 3c nline-for">inline.for</a></li>.<
9e280 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 73 73 65 6d /ul>...............<h2.id="Assem
9e2a0 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 3e 41 73 73 bly"><a.href="#toc-Assembly">Ass
9e2c0 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 embly</a>.<a.class="hdr".href="#
9e2e0 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 20 3c 70 3e Assembly">..</a></h2>........<p>
9e300 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 74 20 6d 61 .......For.some.use.cases,.it.ma
9e320 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 6f 6e 74 72 y.be.necessary.to.directly.contr
9e340 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 64 0a 20 20 ol.the.machine.code.generated...
9e360 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 74 68 61 6e ....by.Zig.programs,.rather.than
9e380 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 61 74 69 6f .relying.on.Zig's.code.generatio
9e3a0 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 20 20 63 61 n..For.these.cases,.one.......ca
9e3c0 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 69 73 20 61 n.use.inline.assembly..Here.is.a
9e3e0 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 6c 6c 6f 2c n.example.of.implementing.Hello,
9e400 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 20 75 73 69 .World.on.x86_64.Linux.......usi
9e420 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 70 3e 0a 20 ng.inline.assembly:.......</p>..
9e440 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="
9e460 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
9e480 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
9e4a0 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
9e4c0 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
9e4e0 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
9e500 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
9e520 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 20 7b ass="tok-type">noreturn</span>.{
9e540 3c 2f 73 70 61 6e 3e 0a 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">....<
9e560 73 70 61 6e 20 63 6c 61 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>
9e580 20 6d 73 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .msg.=.<span.class="tok-str">&qu
9e5a0 6f 74 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f ot;hello.world\n&quot;</span>;</
9e5c0 73 70 61 6e 3e 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">...._.=
9e5e0 20 73 79 73 63 61 6c 6c 33 28 53 59 53 5f 77 72 69 74 65 2c 20 53 54 44 4f 55 54 5f 46 49 4c 45 .syscall3(SYS_write,.STDOUT_FILE
9e600 4e 4f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 NO,.<span.class="tok-builtin">@p
9e620 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 6d 73 67 29 2c 20 6d 73 67 2e 6c 65 6e 29 3b 3c 2f trToInt</span>(msg),.msg.len);</
9e640 73 70 61 6e 3e 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">...._.=
9e660 20 73 79 73 63 61 6c 6c 31 28 53 59 53 5f 65 78 69 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .syscall1(SYS_exit,.<span.class=
9e680 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>.<
9e6a0 73 70 61 6e 20 63 6c 61 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
9e6c0 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 2f s="tok-kw">unreachable</span>;</
9e6e0 73 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
9e700 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
9e720 61 6e 20 63 6c 61 73 73 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
9e740 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
9e760 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 59 53 5f 77 72 69 74 65 20 3d 20 3c 73 -kw">const</span>.SYS_write.=.<s
9e780 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>;
9e7a0 3c 2f 73 70 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
9e7c0 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
9e7e0 20 63 6c 61 73 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 59 53 .class="tok-kw">const</span>.SYS
9e800 5f 65 78 69 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 _exit.=.<span.class="tok-number"
9e820 3e 36 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 >60</span>;</span>.<span.class="
9e840 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"
9e860 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>
9e880 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
9e8a0 6e 3e 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>.STDOUT_FILENO.=.<span.class="
9e8c0 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
9e8e0 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
9e900 61 73 73 3d 22 6c 69 6e 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">
9e920 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">
9e940 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 73 fn</span>.<span.class="tok-fn">s
9e960 79 73 63 61 6c 6c 31 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 yscall1</span>(number:.<span.cla
9e980 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 31 ss="tok-type">usize</span>,.arg1
9e9a0 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</
9e9c0 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 73 span>).<span.class="tok-type">us
9e9e0 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 3d ize</span>.{</span>.<span.class=
9ea00 22 6c 69 6e 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">
9ea20 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
9ea40 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 6b w">asm</span>.<span.class="tok-k
9ea60 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 3d w">volatile</span>.(<span.class=
9ea80 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 73 "tok-str">&quot;syscall&quot;</s
9eaa0 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">.
9eac0 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 2d .......:.[ret].<span.class="tok-
9eae0 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 28 str">&quot;={rax}&quot;</span>.(
9eb00 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 69 -&gt;.<span.class="tok-type">usi
9eb20 7a 65 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 6c ze</span>)</span>.<span.class="l
9eb40 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 63 6c ine">........:.[number].<span.cl
9eb60 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 61 78 7d 26 71 75 6f 74 3b 3c ass="tok-str">&quot;{rax}&quot;<
9eb80 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 63 6c /span>.(number),</span>.<span.cl
9eba0 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 70 61 ass="line">..........[arg1].<spa
9ebc0 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 75 n.class="tok-str">&quot;{rdi}&qu
9ebe0 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ot;</span>.(arg1)</span>.<span.c
9ec00 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 61 6e 20 63 6c 61 73 lass="line">........:.<span.clas
9ec20 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 63 78 26 71 75 6f 74 3b 3c 2f 73 70 61 s="tok-str">&quot;rcx&quot;</spa
9ec40 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;
9ec60 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 73 70 61 6e 20 63 6c r11&quot;</span></span>.<span.cl
9ec80 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 3c 73 70 61 6e 20 63 ass="line">....);</span>.<span.c
9eca0 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
9ecc0 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
9ece0 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
9ed00 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
9ed20 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 79 73 63 61 6c 6c 33 3c >.<span.class="tok-fn">syscall3<
9ed40 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>(number:.<span.class="tok-
9ed60 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 31 3a 20 3c 73 70 61 6e 20 type">usize</span>,.arg1:.<span.
9ed80 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 20 61 class="tok-type">usize</span>,.a
9eda0 72 67 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a rg2:.<span.class="tok-type">usiz
9edc0 65 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 33 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e</span>,.arg3:.<span.class="tok
9ede0 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 61 73 73 -type">usize</span>).<span.class
9ee00 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 6e ="tok-type">usize</span>.{</span
9ee20 3e 0a 3c 73 70 61 6e 20 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
9ee40 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
9ee60 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 73 70 61 n.class="tok-kw">asm</span>.<spa
9ee80 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>
9eea0 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 3b 73 79 .(<span.class="tok-str">&quot;sy
9eec0 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 61 6e 20 scall&quot;</span></span>.<span.
9eee0 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 3c 73 70 class="line">........:.[ret].<sp
9ef00 61 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 78 7d 26 an.class="tok-str">&quot;={rax}&
9ef20 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 73 73 3d quot;</span>.(-&gt;.<span.class=
9ef40 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 0a "tok-type">usize</span>)</span>.
9ef60 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 5b 6e 75 <span.class="line">........:.[nu
9ef80 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 26 71 75 6f mber].<span.class="tok-str">&quo
9efa0 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 29 2c 3c 2f t;{rax}&quot;</span>.(number),</
9efc0 73 70 61 6e 3e 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">.......
9efe0 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 74 72 22 3e ...[arg1].<span.class="tok-str">
9f000 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 67 31 29 2c &quot;{rdi}&quot;</span>.(arg1),
9f020 3c 2f 73 70 61 6e 3e 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">.....
9f040 20 20 20 20 20 5b 61 72 67 32 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 .....[arg2].<span.class="tok-str
9f060 22 3e 26 71 75 6f 74 3b 7b 72 73 69 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 32 ">&quot;{rsi}&quot;</span>.(arg2
9f080 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">...
9f0a0 20 20 20 20 20 20 20 5b 61 72 67 33 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 .......[arg3].<span.class="tok-s
9f0c0 74 72 22 3e 26 71 75 6f 74 3b 7b 72 64 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 tr">&quot;{rdx}&quot;</span>.(ar
9f0e0 67 33 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 20 20 g3)</span>.<span.class="line">..
9f100 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
9f120 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
9f140 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
9f160 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">...
9f180 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">}<
9f1a0 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
9f1c0 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
9f1e0 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 3c ">Shell</figcaption><pre><samp><
9f200 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 span.class="line">$.<kbd>zig.bui
9f220 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 78 38 36 5f 36 34 2d 6c ld-exe.test.zig.-target.x86_64-l
9f240 69 6e 75 78 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c inux</kbd></span>.<span.class="l
9f260 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">
9f280 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e $.<kbd>./test</kbd></span>.<span
9f2a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 6c 6c 6f 20 77 6f 72 6c 64 3c 2f 73 70 61 6e 3e .class="line">hello.world</span>
9f2c0 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
9f2e0 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 0a 20 >.......Dissecting.the.syntax:..
9f300 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
9f320 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=
9f340 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 65 64 "file">Assembly.Syntax.Explained
9f360 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><
9f380 73 70 61 6e 20 63 6c 61 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
9f3a0 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 6d 62 6c 79 20 69 ok-comment">//.Inline.assembly.i
9f3c0 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 72 6e 73 20 61 20 s.an.expression.which.returns.a.
9f3e0 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 73 73 value.</span></span>.<span.class
9f400 3d 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
9f420 22 3e 2f 2f 20 74 68 65 20 60 61 73 6d 60 20 6b 65 79 77 6f 72 64 20 62 65 67 69 6e 73 20 74 68 ">//.the.`asm`.keyword.begins.th
9f440 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 e.expression.</span></span>.<spa
9f460 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">_.=.<span.class="
9f480 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 tok-kw">asm</span></span>.<span.
9f4a0 63 6c 61 73 73 3d 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
9f4c0 6d 6d 65 6e 74 22 3e 2f 2f 20 60 76 6f 6c 61 74 69 6c 65 60 20 69 73 20 61 6e 20 6f 70 74 69 6f mment">//.`volatile`.is.an.optio
9f4e0 6e 61 6c 20 6d 6f 64 69 66 69 65 72 20 74 68 61 74 20 74 65 6c 6c 73 20 5a 69 67 20 74 68 69 73 nal.modifier.that.tells.Zig.this
9f500 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
9f520 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 69 "><span.class="tok-comment">//.i
9f540 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 20 68 61 73 20 73 69 nline.assembly.expression.has.si
9f560 64 65 2d 65 66 66 65 63 74 73 2e 20 57 69 74 68 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e de-effects..Without</span></span
9f580 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
9f5a0 3d 22 74 6f 6b 2d 63 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 ="tok-comment">//.`volatile`,.Zi
9f5c0 67 20 69 73 20 61 6c 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 g.is.allowed.to.delete.the.inlin
9f5e0 65 20 61 73 73 65 6d 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 e.assembly</span></span>.<span.c
9f600 6c 61 73 73 3d 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
9f620 6d 65 6e 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 ment">//.code.if.the.result.is.u
9f640 6e 75 73 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 nused.</span></span>.<span.class
9f660 3d 22 6c 69 6e 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 ="line"><span.class="tok-kw">vol
9f680 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 73 atile</span>.(</span>.<span.clas
9f6a0 73 3d 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
9f6c0 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 72 69 6e 67 20 t">//.Next.is.a.comptime.string.
9f6e0 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 3c 2f 73 70 61 which.is.the.assembly.code.</spa
9f700 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
9f720 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 73 69 64 65 an.class="tok-comment">//.Inside
9f740 20 74 68 69 73 20 73 74 72 69 6e 67 20 6f 6e 65 20 6d 61 79 20 75 73 65 20 60 25 5b 72 65 74 5d .this.string.one.may.use.`%[ret]
9f760 60 2c 20 60 25 5b 6e 75 6d 62 65 72 5d 60 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 `,.`%[number]`,</span></span>.<s
9f780 70 61 6e 20 63 6c 61 73 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
9f7a0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 72 20 60 25 5b 61 72 67 31 5d 60 20 77 68 65 72 65 k-comment">//.or.`%[arg1]`.where
9f7c0 20 61 20 72 65 67 69 73 74 65 72 20 69 73 20 65 78 70 65 63 74 65 64 2c 20 74 6f 20 73 70 65 63 .a.register.is.expected,.to.spec
9f7e0 69 66 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 ify</span></span>.<span.class="l
9f800 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">/
9f820 2f 20 74 68 65 20 72 65 67 69 73 74 65 72 20 74 68 61 74 20 5a 69 67 20 75 73 65 73 20 66 6f 72 /.the.register.that.Zig.uses.for
9f840 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 6f 72 20 72 65 74 75 72 6e 20 76 61 6c 75 65 2c 3c 2f .the.argument.or.return.value,</
9f860 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">
9f880 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 66 20 <span.class="tok-comment">//.if.
9f8a0 74 68 65 20 72 65 67 69 73 74 65 72 20 63 6f 6e 73 74 72 61 69 6e 74 20 73 74 72 69 6e 67 73 20 the.register.constraint.strings.
9f8c0 61 72 65 20 75 73 65 64 2e 20 48 6f 77 65 76 65 72 20 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 are.used..However.in</span></spa
9f8e0 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
9f900 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 62 65 6c 6f 77 20 63 6f 64 s="tok-comment">//.the.below.cod
9f920 65 2c 20 74 68 69 73 20 69 73 20 6e 6f 74 20 75 73 65 64 2e 20 41 20 6c 69 74 65 72 61 6c 20 60 e,.this.is.not.used..A.literal.`
9f940 25 60 20 63 61 6e 20 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 %`.can.be</span></span>.<span.cl
9f960 61 73 73 3d 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
9f980 65 6e 74 22 3e 2f 2f 20 6f 62 74 61 69 6e 65 64 20 62 79 20 65 73 63 61 70 69 6e 67 20 69 74 20 ent">//.obtained.by.escaping.it.
9f9a0 77 69 74 68 20 61 20 64 6f 75 62 6c 65 20 70 65 72 63 65 6e 74 3a 20 60 25 25 60 2e 3c 2f 73 70 with.a.double.percent:.`%%`.</sp
9f9c0 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
9f9e0 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 6e pan.class="tok-comment">//.Often
9fa00 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 69 .multiline.string.syntax.comes.i
9fa20 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 61 n.handy.here.</span></span>.<spa
9fa40 6e 20 63 6c 61 73 73 3d 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="
9fa60 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 3e tok-str">\\syscall</span></span>
9fa80 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=
9faa0 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 65 20 6f 75 74 "tok-comment">//.Next.is.the.out
9fac0 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 66 75 74 75 72 put..It.is.possible.in.the.futur
9fae0 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 70 61 6e 20 63 e.Zig.will</span></span>.<span.c
9fb00 6c 61 73 73 3d 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
9fb20 6d 65 6e 74 22 3e 2f 2f 20 73 75 70 70 6f 72 74 20 6d 75 6c 74 69 70 6c 65 20 6f 75 74 70 75 74 ment">//.support.multiple.output
9fb40 73 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 68 6f 77 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e s,.depending.on.how</span></span
9fb60 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
9fb80 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 ="tok-comment">//.https://github
9fba0 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 20 69 73 20 72 .com/ziglang/zig/issues/215.is.r
9fbc0 65 73 6f 6c 76 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 esolved.</span></span>.<span.cla
9fbe0 73 73 3d 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
9fc00 6e 74 22 3e 2f 2f 20 49 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 74 68 65 72 65 20 74 nt">//.It.is.allowed.for.there.t
9fc20 6f 20 62 65 20 6e 6f 20 6f 75 74 70 75 74 73 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 3c 2f o.be.no.outputs,.in.which.case</
9fc40 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">
9fc60 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 68 69 <span.class="tok-comment">//.thi
9fc80 73 20 63 6f 6c 6f 6e 20 77 6f 75 6c 64 20 62 65 20 64 69 72 65 63 74 6c 79 20 66 6f 6c 6c 6f 77 s.colon.would.be.directly.follow
9fca0 65 64 20 62 79 20 74 68 65 20 63 6f 6c 6f 6e 20 66 6f 72 20 74 68 65 20 69 6e 70 75 74 73 2e 3c ed.by.the.colon.for.the.inputs.<
9fcc0 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"
9fce0 3e 20 20 20 20 3a 3c 2f 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"
9fd00 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 68 ><span.class="tok-comment">//.Th
9fd20 69 73 20 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 is.specifies.the.name.to.be.used
9fd40 20 69 6e 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 .in.`%[ret]`.syntax.in</span></s
9fd60 70 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
9fd80 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 61 ass="tok-comment">//.the.above.a
9fda0 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 65 ssembly.string..This.example.doe
9fdc0 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 61 s.not.use.it,</span></span>.<spa
9fde0 6e 20 63 6c 61 73 73 3d 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-
9fe00 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 69 73 20 6d 61 comment">//.but.the.syntax.is.ma
9fe20 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 6e 20 63 6c 61 ndatory.</span></span>.<span.cla
9fe40 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5b 72 65 74 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="line">....[ret]</span>.<span
9fe60 20 63 6c 61 73 73 3d 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
9fe80 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 74 68 65 20 6f 75 74 70 75 74 20 63 6f omment">//.Next.is.the.output.co
9fea0 6e 73 74 72 61 69 6e 74 20 73 74 72 69 6e 67 2e 20 54 68 69 73 20 66 65 61 74 75 72 65 20 69 73 nstraint.string..This.feature.is
9fec0 20 73 74 69 6c 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 .still</span></span>.<span.class
9fee0 3d 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
9ff00 22 3e 2f 2f 20 63 6f 6e 73 69 64 65 72 65 64 20 75 6e 73 74 61 62 6c 65 20 69 6e 20 5a 69 67 2c ">//.considered.unstable.in.Zig,
9ff20 20 61 6e 64 20 73 6f 20 4c 4c 56 4d 2f 47 43 43 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f .and.so.LLVM/GCC.documentation</
9ff40 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">
9ff60 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 75 73 <span.class="tok-comment">//.mus
9ff80 74 20 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 t.be.used.to.understand.the.sema
9ffa0 6e 74 69 63 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 ntics.</span></span>.<span.class
9ffc0 3d 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
9ffe0 22 3e 2f 2f 20 68 74 74 70 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 30 ">//.http://releases.llvm.org/10
a0000 2e 30 2e 30 2f 64 6f 63 73 2f 4c 61 6e 67 52 65 66 2e 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 61 73 .0.0/docs/LangRef.html#inline-as
a0020 6d 2d 63 6f 6e 73 74 72 61 69 6e 74 2d 73 74 72 69 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e m-constraint-string</span></span
a0040 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
a0060 3d 22 74 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 ="tok-comment">//.https://gcc.gn
a0080 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2f 45 78 74 65 6e 64 65 64 2d 41 73 u.org/onlinedocs/gcc/Extended-As
a00a0 6d 2e 68 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 m.html</span></span>.<span.class
a00c0 3d 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
a00e0 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 72 ">//.In.this.example,.the.constr
a0100 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 75 aint.string.means.&quot;the.resu
a0120 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 20 lt.value.of</span></span>.<span.
a0140 63 6c 61 73 73 3d 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
a0160 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 62 6c 79 20 69 mment">//.this.inline.assembly.i
a0180 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 6e 20 24 72 61 nstruction.is.whatever.is.in.$ra
a01a0 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 6e 20 63 6c 61 x&quot;.</span></span>.<span.cla
a01c0 73 73 3d 22 6c 69 6e 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
a01e0 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 3c 2f 73 tr">&quot;={rax}&quot;</span></s
a0200 70 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
a0220 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 65 69 74 ass="tok-comment">//.Next.is.eit
a0240 68 65 72 20 61 20 76 61 6c 75 65 20 62 69 6e 64 69 6e 67 2c 20 6f 72 20 60 2d 26 67 74 3b 60 20 her.a.value.binding,.or.`-&gt;`.
a0260 61 6e 64 20 74 68 65 6e 20 61 20 74 79 70 65 2e 20 54 68 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 and.then.a.type..The</span></spa
a0280 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
a02a0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 79 70 65 20 69 73 20 74 68 65 20 72 s="tok-comment">//.type.is.the.r
a02c0 65 73 75 6c 74 20 74 79 70 65 20 6f 66 20 74 68 65 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c esult.type.of.the.inline.assembl
a02e0 79 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 y.expression.</span></span>.<spa
a0300 6e 20 63 6c 61 73 73 3d 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-
a0320 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 69 74 20 69 73 20 61 20 76 61 6c 75 65 20 62 69 6e comment">//.If.it.is.a.value.bin
a0340 64 69 6e 67 2c 20 74 68 65 6e 20 60 25 5b 72 65 74 5d 60 20 73 79 6e 74 61 78 20 77 6f 75 6c 64 ding,.then.`%[ret]`.syntax.would
a0360 20 62 65 20 75 73 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 .be.used</span></span>.<span.cla
a0380 73 73 3d 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
a03a0 6e 74 22 3e 2f 2f 20 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 nt">//.to.refer.to.the.register.
a03c0 62 6f 75 6e 64 20 74 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 bound.to.the.value.</span></span
a03e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 28 2d 26 67 74 3b 20 >.<span.class="line">....(-&gt;.
a0400 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
a0420 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 6c 69 6e 65 22 3e 3c an>)</span>.<span.class="line"><
a0440 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 span.class="tok-comment">//.Next
a0460 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 3c 2f .is.the.list.of.inputs.</span></
a0480 73 70 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
a04a0 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 63 6f 6e 73 74 72 lass="tok-comment">//.The.constr
a04c0 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 73 2c 20 26 71 75 aint.for.these.inputs.means,.&qu
a04e0 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 69 73 3c 2f 73 70 ot;when.the.assembly.code.is</sp
a0500 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
a0520 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 65 63 75 pan.class="tok-comment">//.execu
a0540 74 65 64 2c 20 24 72 61 78 20 73 68 61 6c 6c 20 68 61 76 65 20 74 68 65 20 76 61 6c 75 65 20 6f ted,.$rax.shall.have.the.value.o
a0560 66 20 60 6e 75 6d 62 65 72 60 20 61 6e 64 20 24 72 64 69 20 73 68 61 6c 6c 20 68 61 76 65 3c 2f f.`number`.and.$rdi.shall.have</
a0580 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">
a05a0 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 68 65 <span.class="tok-comment">//.the
a05c0 20 76 61 6c 75 65 20 6f 66 20 60 61 72 67 31 60 26 71 75 6f 74 3b 2e 20 41 6e 79 20 6e 75 6d 62 .value.of.`arg1`&quot;..Any.numb
a05e0 65 72 20 6f 66 20 69 6e 70 75 74 20 70 61 72 61 6d 65 74 65 72 73 20 69 73 20 61 6c 6c 6f 77 65 er.of.input.parameters.is.allowe
a0600 64 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 3d 22 6c 69 d,</span></span>.<span.class="li
a0620 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">//
a0640 20 69 6e 63 6c 75 64 69 6e 67 20 6e 6f 6e 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .including.none.</span></span>.<
a0660 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3a 20 5b 6e 75 6d 62 65 72 5d span.class="line">....:.[number]
a0680 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 61 .<span.class="tok-str">&quot;{ra
a06a0 78 7d 26 71 75 6f 74 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 x}&quot;</span>.(number),</span>
a06c0 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 5b 61 72 67 .<span.class="line">........[arg
a06e0 31 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 1].<span.class="tok-str">&quot;{
a0700 72 64 69 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 3c 2f 73 70 61 6e 3e 0a rdi}&quot;</span>.(arg1)</span>.
a0720 3c 73 70 61 6e 20 63 6c 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="
a0740 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 74 68 65 20 6c 69 73 74 tok-comment">//.Next.is.the.list
a0760 20 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 .of.clobbers..These.declare.a.se
a0780 74 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 t.of.registers.whose</span></spa
a07a0 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
a07c0 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 6c 20 6e s="tok-comment">//.values.will.n
a07e0 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 69 6f 6e ot.be.preserved.by.the.execution
a0800 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 3e 3c 2f .of.this.assembly.code.</span></
a0820 73 70 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
a0840 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 73 65 20 64 6f 20 6e lass="tok-comment">//.These.do.n
a0860 6f 74 20 69 6e 63 6c 75 64 65 20 6f 75 74 70 75 74 20 6f 72 20 69 6e 70 75 74 20 72 65 67 69 73 ot.include.output.or.input.regis
a0880 74 65 72 73 2e 20 54 68 65 20 73 70 65 63 69 61 6c 20 63 6c 6f 62 62 65 72 3c 2f 73 70 61 6e 3e ters..The.special.clobber</span>
a08a0 3c 2f 73 70 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
a08c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 6c 75 65 20 6f 66 .class="tok-comment">//.value.of
a08e0 20 26 71 75 6f 74 3b 6d 65 6d 6f 72 79 26 71 75 6f 74 3b 20 6d 65 61 6e 73 20 74 68 61 74 20 74 .&quot;memory&quot;.means.that.t
a0900 68 65 20 61 73 73 65 6d 62 6c 79 20 77 72 69 74 65 73 20 74 6f 20 61 72 62 69 74 72 61 72 79 20 he.assembly.writes.to.arbitrary.
a0920 75 6e 64 65 63 6c 61 72 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 undeclared</span></span>.<span.c
a0940 6c 61 73 73 3d 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
a0960 6d 65 6e 74 22 3e 2f 2f 20 6d 65 6d 6f 72 79 20 6c 6f 63 61 74 69 6f 6e 73 20 2d 20 6e 6f 74 20 ment">//.memory.locations.-.not.
a0980 6f 6e 6c 79 20 74 68 65 20 6d 65 6d 6f 72 79 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 61 20 only.the.memory.pointed.to.by.a.
a09a0 64 65 63 6c 61 72 65 64 20 69 6e 64 69 72 65 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a declared.indirect</span></span>.
a09c0 3c 73 70 61 6e 20 63 6c 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="
a09e0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 75 74 70 75 74 2e 20 49 6e 20 74 68 69 73 20 tok-comment">//.output..In.this.
a0a00 65 78 61 6d 70 6c 65 20 77 65 20 6c 69 73 74 20 24 72 63 78 20 61 6e 64 20 24 72 31 31 20 62 65 example.we.list.$rcx.and.$r11.be
a0a20 63 61 75 73 65 20 69 74 20 69 73 20 6b 6e 6f 77 6e 20 74 68 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 cause.it.is.known.the</span></sp
a0a40 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
a0a60 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6b 65 72 6e 65 6c 20 73 79 73 63 61 ss="tok-comment">//.kernel.sysca
a0a80 6c 6c 20 64 6f 65 73 20 6e 6f 74 20 70 72 65 73 65 72 76 65 20 74 68 65 73 65 20 72 65 67 69 73 ll.does.not.preserve.these.regis
a0aa0 74 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 3d ters.</span></span>.<span.class=
a0ac0 22 6c 69 6e 65 22 3e 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 "line">....:.<span.class="tok-st
a0ae0 72 22 3e 26 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 r">&quot;rcx&quot;</span>,.<span
a0b00 20 63 6c 61 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 .class="tok-str">&quot;r11&quot;
a0b20 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
a0b40 22 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 ">);</span></code></pre></figure
a0b60 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 69 33 38 36 20 61 6e 64 20 78 >.......<p>.......For.i386.and.x
a0b80 38 36 5f 36 34 20 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 86_64.targets,.the.syntax.is.AT&
a0ba0 61 6d 70 3b 54 20 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 amp;T.syntax,.rather.than.the.mo
a0bc0 72 65 0a 20 20 20 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 re.......popular.Intel.syntax..T
a0be0 68 69 73 20 69 73 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 his.is.due.to.technical.constrai
a0c00 6e 74 73 3b 20 61 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 nts;.assembly.parsing.is.......p
a0c20 72 6f 76 69 64 65 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 rovided.by.LLVM.and.its.support.
a0c40 66 6f 72 20 49 6e 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 for.Intel.syntax.is.buggy.and.no
a0c60 74 20 77 65 6c 6c 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 t.well.tested........</p>.......
a0c80 3c 70 3e 0a 20 20 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 <p>.......Some.day.Zig.may.have.
a0ca0 69 74 73 20 6f 77 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 its.own.assembler..This.would.al
a0cc0 6c 6f 77 20 69 74 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 low.it.to.integrate.more.seamles
a0ce0 73 6c 79 0a 20 20 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 sly.......into.the.language,.as.
a0d00 77 65 6c 6c 20 61 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 well.as.be.compatible.with.the.p
a0d20 6f 70 75 6c 61 72 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 opular.NASM.syntax..This.documen
a0d40 74 61 74 69 6f 6e 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 tation.......section.will.be.upd
a0d60 61 74 65 64 20 62 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 ated.before.1.0.0.is.released,.w
a0d80 69 74 68 20 61 20 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 ith.a.conclusive.statement.about
a0da0 20 74 68 65 20 73 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 .the.status.......of.AT&amp;T.vs
a0dc0 20 49 6e 74 65 6c 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 .Intel/NASM.syntax........</p>..
a0de0 20 20 20 20 20 3c 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 .....<h3.id="Output-Constraints"
a0e00 3e 3c 61 20 68 72 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 ><a.href="#toc-Output-Constraint
a0e20 73 22 3e 4f 75 74 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 s">Output.Constraints</a>.<a.cla
a0e40 73 73 3d 22 68 64 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 ss="hdr".href="#Output-Constrain
a0e60 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ts">..</a></h3>........<p>......
a0e80 20 4f 75 74 70 75 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 .Output.constraints.are.still.co
a0ea0 6e 73 69 64 65 72 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 nsidered.to.be.unstable.in.Zig,.
a0ec0 61 6e 64 0a 20 20 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 and.......so.......<a.href="http
a0ee0 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 63 73 ://releases.llvm.org/10.0.0/docs
a0f00 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 72 61 /LangRef.html#inline-asm-constra
a0f20 69 6e 74 2d 73 74 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 int-string">LLVM.documentation</
a0f40 61 3e 0a 20 20 20 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 a>.......and.......<a.href="http
a0f60 73 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2f 45 s://gcc.gnu.org/onlinedocs/gcc/E
a0f80 78 74 65 6e 64 65 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 xtended-Asm.html">GCC.documentat
a0fa0 69 6f 6e 3c 2f 61 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 ion</a>.......must.be.used.to.un
a0fc0 64 65 72 73 74 61 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 derstand.the.semantics........</
a0fe0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 73 6f 6d p>.......<p>.......Note.that.som
a1000 65 20 62 72 65 61 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 e.breaking.changes.to.output.con
a1020 73 74 72 61 69 6e 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 straints.are.planned.with.......
a1040 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
a1060 61 6e 67 2f 7a 69 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 ang/zig/issues/215">issue.#215</
a1080 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 68 33 a>........</p>...............<h3
a10a0 20 69 64 3d 22 49 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 .id="Input-Constraints"><a.href=
a10c0 22 23 74 6f 63 2d 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 "#toc-Input-Constraints">Input.C
a10e0 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 onstraints</a>.<a.class="hdr".hr
a1100 65 66 3d 22 23 49 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 ef="#Input-Constraints">..</a></
a1120 68 33 3e 0a 0a 20 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 h3>........<p>.......Input.const
a1140 72 61 69 6e 74 73 20 61 72 65 20 73 74 69 6c 6c 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 raints.are.still.considered.to.b
a1160 65 20 75 6e 73 74 61 62 6c 65 20 69 6e 20 5a 69 67 2c 20 61 6e 64 0a 20 20 20 20 20 20 73 6f 0a e.unstable.in.Zig,.and.......so.
a1180 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c ......<a.href="http://releases.l
a11a0 6c 76 6d 2e 6f 72 67 2f 31 30 2e 30 2e 30 2f 64 6f 63 73 2f 4c 61 6e 67 52 65 66 2e 68 74 6d 6c lvm.org/10.0.0/docs/LangRef.html
a11c0 23 69 6e 6c 69 6e 65 2d 61 73 6d 2d 63 6f 6e 73 74 72 61 69 6e 74 2d 73 74 72 69 6e 67 22 3e 4c #inline-asm-constraint-string">L
a11e0 4c 56 4d 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 61 6e 64 0a LVM.documentation</a>.......and.
a1200 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f ......<a.href="https://gcc.gnu.o
a1220 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
a1240 74 6d 6c 22 3e 47 43 43 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 tml">GCC.documentation</a>......
a1260 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 .must.be.used.to.understand.the.
a1280 73 65 6d 61 6e 74 69 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a semantics........</p>.......<p>.
a12a0 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 73 6f 6d 65 20 62 72 65 61 6b 69 6e 67 20 63 68 ......Note.that.some.breaking.ch
a12c0 61 6e 67 65 73 20 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 anges.to.input.constraints.are.p
a12e0 6c 61 6e 6e 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 lanned.with.......<a.href="https
a1300 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 ://github.com/ziglang/zig/issues
a1320 2f 32 31 35 22 3e 69 73 73 75 65 20 23 32 31 35 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e /215">issue.#215</a>........</p>
a1340 0a 20 20 20 20 20 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 ...............<h3.id="Clobbers"
a1360 3e 3c 61 20 68 72 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 ><a.href="#toc-Clobbers">Clobber
a1380 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 6c 6f 62 s</a>.<a.class="hdr".href="#Clob
a13a0 62 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 bers">..</a></h3>........<p>....
a13c0 20 20 20 43 6c 6f 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 ...Clobbers.are.the.set.of.regis
a13e0 74 65 72 73 20 77 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 ters.whose.values.will.not.be.pr
a1400 65 73 65 72 76 65 64 20 62 79 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 0a 20 20 20 20 eserved.by.the.execution.of.....
a1420 20 20 74 68 65 20 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 ..the.assembly.code..These.do.no
a1440 74 20 69 6e 63 6c 75 64 65 20 6f 75 74 70 75 74 20 6f 72 20 69 6e 70 75 74 20 72 65 67 69 73 74 t.include.output.or.input.regist
a1460 65 72 73 2e 20 54 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 ers..The.special.clobber.......v
a1480 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 22 6c 69 6e 65 22 alue.of.<code><span.class="line"
a14a0 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 6d 65 6d ><span.class="tok-str">&quot;mem
a14c0 6f 72 79 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 6d ory&quot;</span></span></code>.m
a14e0 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 61 73 73 65 6d 62 6c 79 20 63 61 75 73 65 73 20 77 72 eans.that.the.assembly.causes.wr
a1500 69 74 65 73 20 74 6f 0a 20 20 20 20 20 20 61 72 62 69 74 72 61 72 79 20 75 6e 64 65 63 6c 61 72 ites.to.......arbitrary.undeclar
a1520 65 64 20 6d 65 6d 6f 72 79 20 6c 6f 63 61 74 69 6f 6e 73 20 2d 20 6e 6f 74 20 6f 6e 6c 79 20 74 ed.memory.locations.-.not.only.t
a1540 68 65 20 6d 65 6d 6f 72 79 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 61 20 64 65 63 6c 61 72 he.memory.pointed.to.by.a.declar
a1560 65 64 0a 20 20 20 20 20 20 69 6e 64 69 72 65 63 74 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 ed.......indirect.output........
a1580 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 61 69 6c 75 72 65 20 74 6f 20 </p>.......<p>.......Failure.to.
a15a0 64 65 63 6c 61 72 65 20 74 68 65 20 66 75 6c 6c 20 73 65 74 20 6f 66 20 63 6c 6f 62 62 65 72 73 declare.the.full.set.of.clobbers
a15c0 20 66 6f 72 20 61 20 67 69 76 65 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 0a 20 20 20 .for.a.given.inline.assembly....
a15e0 20 20 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 75 6e 63 68 65 63 6b 65 64 20 3c 61 20 68 72 ...expression.is.unchecked.<a.hr
a1600 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
a1620 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ed.Behavior</a>........</p>.....
a1640 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c ..........<h3.id="Global-Assembl
a1660 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 y"><a.href="#toc-Global-Assembly
a1680 22 3e 47 6c 6f 62 61 6c 20 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 ">Global.Assembly</a>.<a.class="
a16a0 68 64 72 22 20 68 72 65 66 3d 22 23 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c hdr".href="#Global-Assembly">..<
a16c0 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 57 68 65 6e 20 61 /a></h3>........<p>.......When.a
a16e0 6e 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 63 63 75 72 73 20 69 6e 20 n.assembly.expression.occurs.in.
a1700 61 20 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 a.container.level.<a.href="#comp
a1720 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 6c 6f 63 6b 2c 20 74 68 69 73 20 69 time">comptime</a>.block,.this.i
a1740 73 0a 20 20 20 20 20 20 3c 73 74 72 6f 6e 67 3e 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 3c s.......<strong>global.assembly<
a1760 2f 73 74 72 6f 6e 67 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 /strong>........</p>.......<p>..
a1780 20 20 20 20 20 54 68 69 73 20 6b 69 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 20 68 61 73 20 64 .....This.kind.of.assembly.has.d
a17a0 69 66 66 65 72 65 6e 74 20 72 75 6c 65 73 20 74 68 61 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d ifferent.rules.than.inline.assem
a17c0 62 6c 79 2e 20 46 69 72 73 74 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c bly..First,.<code><span.class="l
a17e0 69 6e 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 ine"><span.class="tok-kw">volati
a1800 6c 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 69 73 le</span></span></code>.......is
a1820 20 6e 6f 74 20 76 61 6c 69 64 20 62 65 63 61 75 73 65 20 61 6c 6c 20 67 6c 6f 62 61 6c 20 61 73 .not.valid.because.all.global.as
a1840 73 65 6d 62 6c 79 20 69 73 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 69 6e 63 6c 75 64 sembly.is.unconditionally.includ
a1860 65 64 2e 0a 20 20 20 20 20 20 53 65 63 6f 6e 64 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 69 ed........Second,.there.are.no.i
a1880 6e 70 75 74 73 2c 20 6f 75 74 70 75 74 73 2c 20 6f 72 20 63 6c 6f 62 62 65 72 73 2e 20 41 6c 6c nputs,.outputs,.or.clobbers..All
a18a0 20 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 20 69 73 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 .global.assembly.is.concatenated
a18c0 0a 20 20 20 20 20 20 76 65 72 62 61 74 69 6d 20 69 6e 74 6f 20 6f 6e 65 20 6c 6f 6e 67 20 73 74 .......verbatim.into.one.long.st
a18e0 72 69 6e 67 20 61 6e 64 20 61 73 73 65 6d 62 6c 65 64 20 74 6f 67 65 74 68 65 72 2e 20 54 68 65 ring.and.assembled.together..The
a1900 72 65 20 61 72 65 20 6e 6f 20 74 65 6d 70 6c 61 74 65 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 re.are.no.template.substitution.
a1920 72 75 6c 65 73 20 72 65 67 61 72 64 69 6e 67 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 25 3c 2f 63 rules.regarding.......<code>%</c
a1940 6f 64 65 3e 20 61 73 20 74 68 65 72 65 20 61 72 65 20 69 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 ode>.as.there.are.in.inline.asse
a1960 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 mbly.expressions........</p>....
a1980 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
a19a0 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 67 6c 6f 62 61 6c g-cap"><cite.class="file">global
a19c0 2d 61 73 6d 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 -asm.zig</cite></figcaption><pre
a19e0 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.
a1a00 63 6c 61 73 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.
a1a20 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
a1a40 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"
a1a60 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>
a1a80 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=
a1aa0 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
a1ac0 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.
a1ae0 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
a1b00 3d 22 6c 69 6e 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
a1b20 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 73 ptime</span>.{</span>.<span.clas
a1b40 73 3d 22 6c 69 6e 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
a1b60 22 3e 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 ">asm</span>.(</span>.<span.clas
a1b80 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
a1ba0 6b 2d 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 k-str">\\.global.my_func;</span>
a1bc0 3c 2f 73 70 61 6e 3e 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">.....
a1be0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 2e 74 79 70 65 ...<span.class="tok-str">\\.type
a1c00 20 6d 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 .my_func,.@function;</span></spa
a1c20 6e 3e 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
a1c40 70 61 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 pan.class="tok-str">\\my_func:</
a1c60 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">
a1c80 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c ........<span.class="tok-str">\\
a1ca0 20 20 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 ..lea.(%rdi,%rsi,1),%eax</span><
a1cc0 2f 73 70 61 6e 3e 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">......
a1ce0 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 72 65 74 71 ..<span.class="tok-str">\\..retq
a1d00 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
a1d20 22 3e 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 ">....);</span>.<span.class="lin
a1d40 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"><
a1d60 2f 73 70 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.
a1d80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 class="tok-kw">extern</span>.<sp
a1da0 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
a1dc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 79 5f 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 n.class="tok-fn">my_func</span>(
a1de0 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 a:.<span.class="tok-type">i32</s
a1e00 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 3e pan>,.b:.<span.class="tok-type">
a1e20 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
a1e40 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 61 73 e">i32</span>;</span>.<span.clas
a1e60 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
a1e80 6e 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
a1ea0 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
a1ec0 3b 67 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 ;global.assembly&quot;</span>.{<
a1ee0 2f 73 70 61 6e 3e 0a 3c 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
a1f00 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
a1f20 70 65 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 pect(my_func(<span.class="tok-nu
a1f40 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 73 73 3d 22 74 6f mber">12</span>,.<span.class="to
a1f60 6b 2d 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 k-number">34</span>).==.<span.cl
a1f80 61 73 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 ass="tok-number">46</span>);</sp
a1fa0 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><
a1fc0 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
a1fe0 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
a2000 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><samp><span.cl
a2020 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 67 6c 6f 62 61 ass="line">$.<kbd>zig.test.globa
a2040 6c 2d 61 73 6d 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 3c 2f l-asm.zig.-target.x86_64-linux</
a2060 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 kbd></span>.<span.class="line">1
a2080 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 26 71 75 /1.test.&quot;global.assembly&qu
a20a0 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ot;....OK</span>.<span.class="li
a20c0 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c ne">All.1.tests.passed.</span>.<
a20e0 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>...........
a2100 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 74 6f 6d 69 63 73 22 3e 3c 61 20 68 ...........<h2.id="Atomics"><a.h
a2120 72 65 66 3d 22 23 74 6f 63 2d 41 74 6f 6d 69 63 73 22 3e 41 74 6f 6d 69 63 73 3c 2f 61 3e 20 3c ref="#toc-Atomics">Atomics</a>.<
a2140 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 6f 6d 69 63 73 22 3e c2 a7 a.class="hdr".href="#Atomics">..
a2160 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 40 66 65 6e 63 65 </a></h2>........<p>TODO:.@fence
a2180 28 29 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 40 61 74 6f 6d 69 63 20 72 6d ()</p>.......<p>TODO:.@atomic.rm
a21a0 77 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 62 75 69 6c 74 69 6e 20 61 74 6f w</p>.......<p>TODO:.builtin.ato
a21c0 6d 69 63 20 6d 65 6d 6f 72 79 20 6f 72 64 65 72 69 6e 67 20 65 6e 75 6d 3c 2f 70 3e 0a 20 20 20 mic.memory.ordering.enum</p>....
a21e0 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e ..........<h2.id="Async-Function
a2200 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 s"><a.href="#toc-Async-Functions
a2220 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 ">Async.Functions</a>.<a.class="
a2240 68 64 72 22 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 c2 a7 3c hdr".href="#Async-Functions">..<
a2260 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 57 68 65 6e 20 61 /a></h2>........<p>.......When.a
a2280 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 2c 20 61 20 66 72 61 6d 65 20 69 73 20 .function.is.called,.a.frame.is.
a22a0 70 75 73 68 65 64 20 74 6f 20 74 68 65 20 73 74 61 63 6b 2c 0a 20 20 20 20 20 20 74 68 65 20 66 pushed.to.the.stack,.......the.f
a22c0 75 6e 63 74 69 6f 6e 20 72 75 6e 73 20 75 6e 74 69 6c 20 69 74 20 72 65 61 63 68 65 73 20 61 20 unction.runs.until.it.reaches.a.
a22e0 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 66 return.statement,.and.then.the.f
a2300 72 61 6d 65 20 69 73 20 70 6f 70 70 65 64 20 66 72 6f 6d 20 74 68 65 20 73 74 61 63 6b 2e 0a 20 rame.is.popped.from.the.stack...
a2320 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 63 61 6c 6c .....The.code.following.the.call
a2340 73 69 74 65 20 64 6f 65 73 20 6e 6f 74 20 72 75 6e 20 75 6e 74 69 6c 20 74 68 65 20 66 75 6e 63 site.does.not.run.until.the.func
a2360 74 69 6f 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 tion.returns........</p>.......<
a2380 70 3e 0a 20 20 20 20 20 20 41 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 p>.......An.async.function.is.a.
a23a0 66 75 6e 63 74 69 6f 6e 20 77 68 6f 73 65 20 65 78 65 63 75 74 69 6f 6e 20 69 73 20 73 70 6c 69 function.whose.execution.is.spli
a23c0 74 20 69 6e 74 6f 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 t.into.an.<code><span.class="lin
a23e0 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 79 6e 63 3c 2f 73 e"><span.class="tok-kw">async</s
a2400 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 69 74 69 61 74 69 6f 6e 2c 0a 20 pan></span></code>.initiation,..
a2420 20 20 20 20 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .....followed.by.an.<code><span.
a2440 63 6c 61 73 73 3d 22 6c 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
a2460 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 3e 20 63 6f 6d ">await</span></span></code>.com
a2480 70 6c 65 74 69 6f 6e 2e 20 49 74 73 20 66 72 61 6d 65 20 69 73 0a 20 20 20 20 20 20 70 72 6f 76 pletion..Its.frame.is.......prov
a24a0 69 64 65 64 20 65 78 70 6c 69 63 69 74 6c 79 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 2c 20 61 ided.explicitly.by.the.caller,.a
a24c0 6e 64 20 69 74 20 63 61 6e 20 62 65 20 73 75 73 70 65 6e 64 65 64 20 61 6e 64 20 72 65 73 75 6d nd.it.can.be.suspended.and.resum
a24e0 65 64 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 74 69 6d 65 73 2e 0a 20 20 20 20 20 20 3c 2f ed.any.number.of.times........</
a2500 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 66 6f 6c 6c p>.......<p>.......The.code.foll
a2520 6f 77 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e owing.the.<code><span.class="lin
a2540 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 79 6e 63 3c 2f 73 e"><span.class="tok-kw">async</s
a2560 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 69 74 65 20 72 75 6e 73 pan></span></code>.callsite.runs
a2580 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20 74 68 65 20 61 73 79 6e 63 0a 20 20 20 .immediately.after.the.async....
a25a0 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 69 72 73 74 20 73 75 73 70 65 6e 64 73 2e 20 57 68 65 6e ...function.first.suspends..When
a25c0 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 61 73 79 6e 63 20 66 .the.return.value.of.the.async.f
a25e0 75 6e 63 74 69 6f 6e 20 69 73 20 6e 65 65 64 65 64 2c 0a 20 20 20 20 20 20 74 68 65 20 63 61 6c unction.is.needed,.......the.cal
a2600 6c 69 6e 67 20 63 6f 64 65 20 63 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ling.code.can.<code><span.class=
a2620 22 6c 69 6e 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 77 61 69 "line"><span.class="tok-kw">awai
a2640 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 20 74 68 65 20 61 73 t</span></span></code>.on.the.as
a2660 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 77 ync.function.frame........This.w
a2680 69 6c 6c 20 73 75 73 70 65 6e 64 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 63 6f 64 65 20 75 6e 74 ill.suspend.the.calling.code.unt
a26a0 69 6c 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 6c 65 74 65 73 2c il.the.async.function.completes,
a26c0 20 61 74 20 77 68 69 63 68 20 70 6f 69 6e 74 0a 20 20 20 20 20 20 65 78 65 63 75 74 69 6f 6e 20 .at.which.point.......execution.
a26e0 72 65 73 75 6d 65 73 20 6a 75 73 74 20 61 66 74 65 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 resumes.just.after.the.<code><sp
a2700 61 6e 20 63 6c 61 73 73 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
a2720 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 3e 20 -kw">await</span></span></code>.
a2740 63 61 6c 6c 73 69 74 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 callsite........</p>.......<p>..
a2760 20 20 20 20 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 .....Zig.infers.that.a.function.
a2780 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
a27a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 n.class="tok-kw">async</span></s
a27c0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 65 6e 20 69 74 20 6f 62 73 65 72 76 65 73 20 74 68 61 pan></code>.when.it.observes.tha
a27e0 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 73 0a 20 20 20 20 20 20 61 20 t.the.function.contains.......a.
a2800 3c 73 74 72 6f 6e 67 3e 73 75 73 70 65 6e 73 69 6f 6e 20 70 6f 69 6e 74 3c 2f 73 74 72 6f 6e 67 <strong>suspension.point</strong
a2820 3e 2e 20 41 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 >..Async.functions.can.be.called
a2840 20 74 68 65 20 73 61 6d 65 20 61 73 20 6e 6f 72 6d 61 6c 20 66 75 6e 63 74 69 6f 6e 73 2e 20 41 .the.same.as.normal.functions..A
a2860 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 6f 66 20 61 6e 20 61 73 79 6e 63 .......function.call.of.an.async
a2880 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 73 75 73 70 65 6e 64 20 70 6f 69 6e 74 2e 0a 20 20 .function.is.a.suspend.point....
a28a0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 75 73 70 65 6e 64 2d 61 ....</p>.......<h3.id="Suspend-a
a28c0 6e 64 2d 52 65 73 75 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 75 73 70 65 6e 64 nd-Resume"><a.href="#toc-Suspend
a28e0 2d 61 6e 64 2d 52 65 73 75 6d 65 22 3e 53 75 73 70 65 6e 64 20 61 6e 64 20 52 65 73 75 6d 65 3c -and-Resume">Suspend.and.Resume<
a2900 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 75 73 70 65 6e /a>.<a.class="hdr".href="#Suspen
a2920 64 2d 61 6e 64 2d 52 65 73 75 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 d-and-Resume">..</a></h3>.......
a2940 20 3c 70 3e 0a 20 20 20 20 20 20 41 74 20 61 6e 79 20 70 6f 69 6e 74 2c 20 61 20 66 75 6e 63 74 .<p>.......At.any.point,.a.funct
a2960 69 6f 6e 20 6d 61 79 20 73 75 73 70 65 6e 64 20 69 74 73 65 6c 66 2e 20 54 68 69 73 20 63 61 75 ion.may.suspend.itself..This.cau
a2980 73 65 73 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 74 6f 0a 20 20 20 20 20 20 72 65 74 75 72 6e ses.control.flow.to.......return
a29a0 20 74 6f 20 74 68 65 20 63 61 6c 6c 73 69 74 65 20 28 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 .to.the.callsite.(in.the.case.of
a29c0 20 74 68 65 20 66 69 72 73 74 20 73 75 73 70 65 6e 73 69 6f 6e 29 2c 0a 20 20 20 20 20 20 6f 72 .the.first.suspension),.......or
a29e0 20 72 65 73 75 6d 65 72 20 28 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 73 75 62 73 65 71 75 .resumer.(in.the.case.of.subsequ
a2a00 65 6e 74 20 73 75 73 70 65 6e 73 69 6f 6e 73 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ent.suspensions)........</p>....
a2a20 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
a2a40 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 75 73 70 65 6e g-cap"><cite.class="file">suspen
a2a60 64 5f 6e 6f 5f 72 65 73 75 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 d_no_resume.zig</cite></figcapti
a2a80 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"
a2aa0 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
a2ac0 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
a2ae0 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
a2b00 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>);
a2b20 3c 2f 73 70 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
a2b40 20 63 6c 61 73 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
a2b60 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>
a2b80 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
a2ba0 6e 20 63 6c 61 73 73 3d 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-
a2bc0 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
a2be0 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
a2c00 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>.
a2c20 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
a2c40 20 63 6c 61 73 73 3d 22 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
a2c60 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-
a2c80 73 74 72 22 3e 26 71 75 6f 74 3b 73 75 73 70 65 6e 64 20 77 69 74 68 20 6e 6f 20 72 65 73 75 6d str">&quot;suspend.with.no.resum
a2ca0 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
a2cc0 61 73 73 3d 22 6c 69 6e 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-
a2ce0 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 kw">var</span>.frame.=.<span.cla
a2d00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 28 29 3b ss="tok-kw">async</span>.func();
a2d20 3c 2f 73 70 61 6e 3e 0a 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">....<
a2d40 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
a2d60 78 70 65 63 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 xpect(x.==.<span.class="tok-numb
a2d80 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 73 er">2</span>);</span>.<span.clas
a2da0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c s="line">...._.=.frame;</span>.<
a2dc0 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
a2de0 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
a2e00 73 3d 22 6c 69 6e 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
a2e20 3c 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 75 6e </span>.<span.class="tok-fn">fun
a2e40 63 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 c</span>().<span.class="tok-type
a2e60 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
a2e80 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 3d 22 ss="line">....x.+=.<span.class="
a2ea0 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
a2ec0 61 6e 20 63 6c 61 73 73 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=
a2ee0 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e "tok-kw">suspend</span>.{}</span
a2f00 3e 0a 3c 73 70 61 6e 20 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
a2f20 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 6c 69 6e 65 20 lass="tok-comment">//.This.line.
a2f40 69 73 20 6e 65 76 65 72 20 72 65 61 63 68 65 64 20 62 65 63 61 75 73 65 20 74 68 65 20 73 75 73 is.never.reached.because.the.sus
a2f60 70 65 6e 64 20 68 61 73 20 6e 6f 20 6d 61 74 63 68 69 6e 67 20 72 65 73 75 6d 65 2e 3c 2f 73 70 pend.has.no.matching.resume.</sp
a2f80 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">..
a2fa0 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 72 22 3e ..x.+=.<span.class="tok-number">
a2fc0 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
a2fe0 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
a3000 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
a3020 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><
a3040 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a samp><span.class="line">$.<kbd>z
a3060 69 67 20 74 65 73 74 20 73 75 73 70 65 6e 64 5f 6e 6f 5f 72 65 73 75 6d 65 2e 7a 69 67 3c 2f 6b ig.test.suspend_no_resume.zig</k
a3080 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f bd></span>.<span.class="line">1/
a30a0 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 75 73 70 65 6e 64 20 77 69 74 68 20 6e 6f 20 72 65 73 1.test.&quot;suspend.with.no.res
a30c0 75 6d 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ume&quot;....OK</span>.<span.cla
a30e0 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 ss="line">All.1.tests.passed.</s
a3100 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>.....
a3120 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 ..<p>.......In.the.same.way.that
a3140 20 65 61 63 68 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 63 .each.allocation.should.have.a.c
a3160 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 66 72 65 65 2c 0a 20 20 20 20 20 20 45 61 63 68 20 3c 63 orresponding.free,.......Each.<c
a3180 6f 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
a31a0 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 6e ss="tok-kw">suspend</span></span
a31c0 3e 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 63 6f 72 72 65 73 70 6f 6e ></code>.should.have.a.correspon
a31e0 64 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 ding.<code><span.class="line"><s
a3200 70 61 6e 20 63 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 pan.class="tok-kw">resume</span>
a3220 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 41 20 3c 73 74 72 6f 6e 67 3e </span></code>........A.<strong>
a3240 73 75 73 70 65 6e 64 20 62 6c 6f 63 6b 3c 2f 73 74 72 6f 6e 67 3e 20 61 6c 6c 6f 77 73 20 61 20 suspend.block</strong>.allows.a.
a3260 66 75 6e 63 74 69 6f 6e 20 74 6f 20 70 75 74 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 69 74 73 function.to.put.a.pointer.to.its
a3280 20 6f 77 6e 0a 20 20 20 20 20 20 66 72 61 6d 65 20 73 6f 6d 65 77 68 65 72 65 2c 20 66 6f 72 20 .own.......frame.somewhere,.for.
a32a0 65 78 61 6d 70 6c 65 20 69 6e 74 6f 20 61 6e 20 65 76 65 6e 74 20 6c 6f 6f 70 2c 20 65 76 65 6e example.into.an.event.loop,.even
a32c0 20 69 66 20 74 68 61 74 20 61 63 74 69 6f 6e 20 77 69 6c 6c 20 70 65 72 66 6f 72 6d 20 61 0a 20 .if.that.action.will.perform.a..
a32e0 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
a3300 70 61 6e 20 63 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 pan.class="tok-kw">resume</span>
a3320 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 69 6f 6e 20 6f 6e 20 61 20 64 69 </span></code>.operation.on.a.di
a3340 66 66 65 72 65 6e 74 20 74 68 72 65 61 64 2e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 fferent.thread........<a.href="#
a3360 66 72 61 6d 65 22 3e 40 66 72 61 6d 65 3c 2f 61 3e 20 70 72 6f 76 69 64 65 73 20 61 63 63 65 73 frame">@frame</a>.provides.acces
a3380 73 20 74 6f 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 20 70 6f s.to.the.async.function.frame.po
a33a0 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 66 69 67 75 72 65 3e inter........</p>.......<figure>
a33c0 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
a33e0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 79 6e 63 5f 73 75 73 70 65 6e 64 5f 62 6c 6f e.class="file">async_suspend_blo
a3400 63 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ck.zig</cite></figcaption><pre><
a3420 63 6f 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
a3440 61 73 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.=.
a3460 3c 73 70 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
a3480 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">&
a34a0 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>.<
a34c0 73 70 61 6e 20 63 6c 61 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
a34e0 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
a3500 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
a3520 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="
a3540 6c 69 6e 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 line"><span.class="tok-kw">var</
a3560 73 70 61 6e 3e 20 74 68 65 5f 66 72 61 6d 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.the_frame:.<span.class="to
a3580 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c k-kw">anyframe</span>.=.<span.cl
a35a0 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>;
a35c0 3c 2f 73 70 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
a35e0 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 6c .class="tok-kw">var</span>.resul
a3600 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 t.=.<span.class="tok-null">false
a3620 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
a3640 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
a3660 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>.<
a3680 73 70 61 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 73 79 6e 63 span.class="tok-str">&quot;async
a36a0 20 66 75 6e 63 74 69 6f 6e 20 73 75 73 70 65 6e 64 20 77 69 74 68 20 62 6c 6f 63 6b 26 71 75 6f .function.suspend.with.block&quo
a36c0 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="
a36e0 6c 69 6e 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 6b line">...._.=.<span.class="tok-k
a3700 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 74 65 73 74 53 75 73 70 65 6e 64 42 6c 6f 63 6b w">async</span>.testSuspendBlock
a3720 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">..
a3740 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
a3760 3e 20 65 78 70 65 63 74 28 21 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >.expect(!result);</span>.<span.
a3780 63 6c 61 73 73 3d 22 6c 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
a37a0 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 74 68 65 5f 66 72 61 6d 65 3b 3c 2f k-kw">resume</span>.the_frame;</
a37c0 73 70 61 6e 3e 0a 3c 73 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
a37e0 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
a3800 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 3d ect(result);</span>.<span.class=
a3820 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
a3840 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
a3860 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
a3880 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 65 73 74 53 75 73 70 65 6e 64 42 6c 6f an.class="tok-fn">testSuspendBlo
a38a0 63 6b 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 ck</span>().<span.class="tok-typ
a38c0 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
a38e0 61 73 73 3d 22 6c 69 6e 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-
a3900 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 kw">suspend</span>.{</span>.<spa
a3920 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
a3940 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 ss="tok-kw">comptime</span>.<spa
a3960 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
a3980 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
a39a0 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 peOf</span>(<span.class="tok-bui
a39c0 6c 74 69 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 29 20 3d 3d 20 2a 3c 73 70 61 6e ltin">@frame</span>()).==.*<span
a39e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 .class="tok-builtin">@Frame</spa
a3a00 6e 3e 28 74 65 73 74 53 75 73 70 65 6e 64 42 6c 6f 63 6b 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 n>(testSuspendBlock));</span>.<s
a3a20 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 74 68 65 5f 66 72 61 pan.class="line">........the_fra
a3a40 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 6c 74 69 6e 22 3e 40 me.=.<span.class="tok-builtin">@
a3a60 66 72 61 6d 65 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 61 frame</span>();</span>.<span.cla
a3a80 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
a3aa0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ss="line">....result.=.<span.cla
a3ac0 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
a3ae0 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
a3b00 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
a3b20 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</
a3b40 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><samp><span.clas
a3b60 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 73 79 6e 63 5f 73 s="line">$.<kbd>zig.test.async_s
a3b80 75 73 70 65 6e 64 5f 62 6c 6f 63 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 uspend_block.zig</kbd></span>.<s
a3ba0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b pan.class="line">1/1.test.&quot;
a3bc0 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 73 70 65 6e 64 20 77 69 74 68 20 62 6c 6f 63 async.function.suspend.with.bloc
a3be0 6b 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 k&quot;....OK</span>.<span.class
a3c00 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 ="line">All.1.tests.passed.</spa
a3c20 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>.......
a3c40 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
a3c60 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 75 73 70 65 6e 64 3c e"><span.class="tok-kw">suspend<
a3c80 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 75 73 65 73 20 61 20 66 75 /span></span></code>.causes.a.fu
a3ca0 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nction.to.be.<code><span.class="
a3cc0 6c 69 6e 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 79 6e 63 line"><span.class="tok-kw">async
a3ce0 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
a3d00 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 52 65 73 75 6d 69 6e 67 2d 66 72 6f 6d 2d 53 >........<h4.id="Resuming-from-S
a3d20 75 73 70 65 6e 64 2d 42 6c 6f 63 6b 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 73 uspend-Blocks"><a.href="#toc-Res
a3d40 75 6d 69 6e 67 2d 66 72 6f 6d 2d 53 75 73 70 65 6e 64 2d 42 6c 6f 63 6b 73 22 3e 52 65 73 75 6d uming-from-Suspend-Blocks">Resum
a3d60 69 6e 67 20 66 72 6f 6d 20 53 75 73 70 65 6e 64 20 42 6c 6f 63 6b 73 3c 2f 61 3e 20 3c 61 20 63 ing.from.Suspend.Blocks</a>.<a.c
a3d80 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 73 75 6d 69 6e 67 2d 66 72 6f 6d 2d lass="hdr".href="#Resuming-from-
a3da0 53 75 73 70 65 6e 64 2d 42 6c 6f 63 6b 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 Suspend-Blocks">..</a></h4>.....
a3dc0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 70 6f 6e 20 65 6e 74 65 72 69 6e 67 20 61 20 3c 63 6f ...<p>.......Upon.entering.a.<co
a3de0 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
a3e00 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 6e 3e s="tok-kw">suspend</span></span>
a3e20 3c 2f 63 6f 64 65 3e 20 62 6c 6f 63 6b 2c 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f </code>.block,.the.async.functio
a3e40 6e 20 69 73 20 61 6c 72 65 61 64 79 20 63 6f 6e 73 69 64 65 72 65 64 0a 20 20 20 20 20 20 73 75 n.is.already.considered.......su
a3e60 73 70 65 6e 64 65 64 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 72 65 73 75 6d 65 64 2e 20 46 6f 72 spended,.and.can.be.resumed..For
a3e80 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 73 74 61 72 74 65 64 20 61 6e 6f 74 68 65 72 .example,.if.you.started.another
a3ea0 20 6b 65 72 6e 65 6c 20 74 68 72 65 61 64 2c 0a 20 20 20 20 20 20 61 6e 64 20 68 61 64 20 74 68 .kernel.thread,.......and.had.th
a3ec0 61 74 20 74 68 72 65 61 64 20 63 61 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 at.thread.call.<code><span.class
a3ee0 3d 22 6c 69 6e 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 73 ="line"><span.class="tok-kw">res
a3f00 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 20 74 68 65 20 ume</span></span></code>.on.the.
a3f20 66 72 61 6d 65 20 70 6f 69 6e 74 65 72 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 0a 20 20 frame.pointer.provided.by.the...
a3f40 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 66 72 61 6d 65 22 3e 40 66 72 61 6d 65 3c 2f 61 3e 2c ....<a.href="#frame">@frame</a>,
a3f60 20 74 68 65 20 6e 65 77 20 74 68 72 65 61 64 20 77 6f 75 6c 64 20 62 65 67 69 6e 20 65 78 65 63 .the.new.thread.would.begin.exec
a3f80 75 74 69 6e 67 20 61 66 74 65 72 20 74 68 65 20 73 75 73 70 65 6e 64 0a 20 20 20 20 20 20 62 6c uting.after.the.suspend.......bl
a3fa0 6f 63 6b 2c 20 77 68 69 6c 65 20 74 68 65 20 6f 6c 64 20 74 68 72 65 61 64 20 63 6f 6e 74 69 6e ock,.while.the.old.thread.contin
a3fc0 75 65 64 20 65 78 65 63 75 74 69 6e 67 20 74 68 65 20 73 75 73 70 65 6e 64 20 62 6c 6f 63 6b 2e ued.executing.the.suspend.block.
a3fe0 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 6f 77 65 .......</p>.......<p>.......Howe
a4000 76 65 72 2c 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 64 ver,.the.async.function.can.be.d
a4020 69 72 65 63 74 6c 79 20 72 65 73 75 6d 65 64 20 66 72 6f 6d 20 74 68 65 20 73 75 73 70 65 6e 64 irectly.resumed.from.the.suspend
a4040 20 62 6c 6f 63 6b 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 69 74 0a 20 20 20 20 20 20 6e .block,.in.which.case.it.......n
a4060 65 76 65 72 20 72 65 74 75 72 6e 73 20 74 6f 20 69 74 73 20 72 65 73 75 6d 65 72 20 61 6e 64 20 ever.returns.to.its.resumer.and.
a4080 63 6f 6e 74 69 6e 75 65 73 20 65 78 65 63 75 74 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a continues.executing........</p>.
a40a0 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=
a40c0 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 65 73 "zig-cap"><cite.class="file">res
a40e0 75 6d 65 5f 66 72 6f 6d 5f 73 75 73 70 65 6e 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ume_from_suspend.zig</cite></fig
a4100 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="
a4120 6c 69 6e 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
a4140 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
a4160 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
a4180 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
a41a0 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">
a41c0 3c 73 70 61 6e 20 63 6c 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
a41e0 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;</
a4200 73 70 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>
a4220 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=
a4240 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
a4260 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 65 73 75 6d 65 20 66 72 6f 6d 20 73 75 73 ="tok-str">&quot;resume.from.sus
a4280 70 65 6e 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 pend&quot;</span>.{</span>.<span
a42a0 20 63 6c 61 73 73 3d 22 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
a42c0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6d 79 5f 72 65 73 75 6c 74 3a 20 3c 73 70 ok-kw">var</span>.my_result:.<sp
a42e0 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>.=
a4300 20 3c 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
a4320 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">..
a4340 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 .._.=.<span.class="tok-kw">async
a4360 3c 2f 73 70 61 6e 3e 20 74 65 73 74 52 65 73 75 6d 65 46 72 6f 6d 53 75 73 70 65 6e 64 28 26 61 </span>.testResumeFromSuspend(&a
a4380 6d 70 3b 6d 79 5f 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 mp;my_result);</span>.<span.clas
a43a0 73 3d 22 6c 69 6e 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
a43c0 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(
a43e0 6d 79 5f 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 my_result.==.<span.class="tok-nu
a4400 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 63 6c mber">2</span>);</span>.<span.cl
a4420 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=
a4440 22 6c 69 6e 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</
a4460 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 65 73 74 52 span>.<span.class="tok-fn">testR
a4480 65 73 75 6d 65 46 72 6f 6d 53 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 28 6d 79 5f 72 65 73 75 6c esumeFromSuspend</span>(my_resul
a44a0 74 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 69 33 32 3c 2f t:.*<span.class="tok-type">i32</
a44c0 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f span>).<span.class="tok-type">vo
a44e0 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="
a4500 6c 69 6e 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 line">....<span.class="tok-kw">s
a4520 75 73 70 65 6e 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 uspend</span>.{</span>.<span.cla
a4540 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
a4560 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">resume</span>.<span.class
a4580 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 3c ="tok-builtin">@frame</span>();<
a45a0 2f 73 70 61 6e 3e 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">....}<
a45c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6d 79 /span>.<span.class="line">....my
a45e0 5f 72 65 73 75 6c 74 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 _result.*.+=.<span.class="tok-nu
a4600 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
a4620 73 73 3d 22 6c 69 6e 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
a4640 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 w">suspend</span>.{}</span>.<spa
a4660 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6d 79 5f 72 65 73 75 6c 74 2e 2a 20 2b n.class="line">....my_result.*.+
a4680 3d 20 3c 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
a46a0 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 7d an>;</span>.<span.class="line">}
a46c0 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
a46e0 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
a4700 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>
a4720 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 <span.class="line">$.<kbd>zig.te
a4740 73 74 20 72 65 73 75 6d 65 5f 66 72 6f 6d 5f 73 75 73 70 65 6e 64 2e 7a 69 67 3c 2f 6b 62 64 3e st.resume_from_suspend.zig</kbd>
a4760 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 </span>.<span.class="line">1/1.t
a4780 65 73 74 20 26 71 75 6f 74 3b 72 65 73 75 6d 65 20 66 72 6f 6d 20 73 75 73 70 65 6e 64 26 71 75 est.&quot;resume.from.suspend&qu
a47a0 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ot;....OK</span>.<span.class="li
a47c0 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c ne">All.1.tests.passed.</span>.<
a47e0 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>.
a4800 20 20 20 20 20 20 54 68 69 73 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 74 61 69 6c ......This.is.guaranteed.to.tail
a4820 20 63 61 6c 6c 2c 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 77 69 6c 6c 20 6e 6f 74 20 63 61 .call,.and.therefore.will.not.ca
a4840 75 73 65 20 61 20 6e 65 77 20 73 74 61 63 6b 20 66 72 61 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 use.a.new.stack.frame........</p
a4860 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 33 20 69 64 3d 22 41 >......................<h3.id="A
a4880 73 79 6e 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 73 sync-and-Await"><a.href="#toc-As
a48a0 79 6e 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e 41 73 79 6e 63 20 61 6e 64 20 41 77 61 69 74 3c 2f ync-and-Await">Async.and.Await</
a48c0 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 2d 61 a>.<a.class="hdr".href="#Async-a
a48e0 6e 64 2d 41 77 61 69 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e nd-Await">..</a></h3>........<p>
a4900 0a 20 20 20 20 20 20 49 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 20 65 76 65 72 .......In.the.same.way.that.ever
a4920 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 61 6e y.<code><span.class="line"><span
a4940 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f .class="tok-kw">suspend</span></
a4960 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 20 6d 61 74 63 68 69 6e 67 0a 20 20 20 20 span></code>.has.a.matching.....
a4980 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
a49a0 20 63 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 .class="tok-kw">resume</span></s
a49c0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 76 65 72 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 pan></code>,.every.<code><span.c
a49e0 6c 61 73 73 3d 22 6c 69 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"
a4a00 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 68 61 73 20 >async</span></span></code>.has.
a4a20 61 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 69 a.matching.<code><span.class="li
a4a40 6e 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 77 61 69 74 3c 2f ne"><span.class="tok-kw">await</
a4a60 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 69 6e 20 73 74 61 span></span></code>.......in.sta
a4a80 6e 64 61 72 64 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e ndard.code........</p>.......<p>
a4aa0 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 69 62 6c 65 20 74 .......However,.it.is.possible.t
a4ac0 6f 20 68 61 76 65 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 o.have.an.<code><span.class="lin
a4ae0 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 79 6e 63 3c 2f 73 e"><span.class="tok-kw">async</s
a4b00 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 0a 20 20 20 20 20 20 77 69 pan></span></code>.call.......wi
a4b20 74 68 6f 75 74 20 61 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 thout.a.matching.<code><span.cla
a4b40 73 73 3d 22 6c 69 6e 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 ss="line"><span.class="tok-kw">a
a4b60 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 55 70 6f 6e 20 wait</span></span></code>..Upon.
a4b80 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 66 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e completion.of.the.async.function
a4ba0 2c 0a 20 20 20 20 20 20 65 78 65 63 75 74 69 6f 6e 20 77 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 ,.......execution.would.continue
a4bc0 20 61 74 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .at.the.most.recent.<code><span.
a4be0 63 6c 61 73 73 3d 22 6c 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
a4c00 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 63 61 6c ">async</span></span></code>.cal
a4c20 6c 73 69 74 65 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 lsite.or.<code><span.class="line
a4c40 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 73 75 6d 65 3c 2f 73 "><span.class="tok-kw">resume</s
a4c60 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 69 74 65 2c 0a 20 20 20 pan></span></code>.callsite,....
a4c80 20 20 20 61 6e 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 61 ...and.the.return.value.of.the.a
a4ca0 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 77 6f 75 6c 64 20 62 65 20 6c 6f 73 74 2e 0a 20 20 20 sync.function.would.be.lost.....
a4cc0 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
a4ce0 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
a4d00 69 6c 65 22 3e 61 73 79 6e 63 5f 61 77 61 69 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ile">async_await.zig</cite></fig
a4d20 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="
a4d40 6c 69 6e 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
a4d60 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
a4d80 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
a4da0 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
a4dc0 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">
a4de0 3c 73 70 61 6e 20 63 6c 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
a4e00 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;</
a4e20 73 70 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>
a4e40 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=
a4e60 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
a4e80 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 73 79 6e 63 20 61 6e 64 20 61 77 61 69 74 ="tok-str">&quot;async.and.await
a4ea0 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
a4ec0 73 73 3d 22 6c 69 6e 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
a4ee0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 74 65 73 74 20 62 6c 6f 63 6b 20 69 73 20 6e 6f 74 omment">//.The.test.block.is.not
a4f00 20 61 73 79 6e 63 20 61 6e 64 20 73 6f 20 63 61 6e 6e 6f 74 20 68 61 76 65 20 61 20 73 75 73 70 .async.and.so.cannot.have.a.susp
a4f20 65 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 22 6c end</span></span>.<span.class="l
a4f40 69 6e 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
a4f60 74 22 3e 2f 2f 20 70 6f 69 6e 74 20 69 6e 20 69 74 2e 20 42 79 20 75 73 69 6e 67 20 74 68 65 20 t">//.point.in.it..By.using.the.
a4f80 6e 6f 73 75 73 70 65 6e 64 20 6b 65 79 77 6f 72 64 2c 20 77 65 20 70 72 6f 6d 69 73 65 20 74 68 nosuspend.keyword,.we.promise.th
a4fa0 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 6c 69 at</span></span>.<span.class="li
a4fc0 6e 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
a4fe0 22 3e 2f 2f 20 74 68 65 20 63 6f 64 65 20 69 6e 20 61 6d 61 69 6e 20 77 69 6c 6c 20 66 69 6e 69 ">//.the.code.in.amain.will.fini
a5000 73 68 20 65 78 65 63 75 74 69 6e 67 20 77 69 74 68 6f 75 74 20 73 75 73 70 65 6e 64 69 6e 67 3c sh.executing.without.suspending<
a5020 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"
a5040 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">/
a5060 2f 20 62 61 63 6b 20 74 6f 20 74 68 65 20 74 65 73 74 20 62 6c 6f 63 6b 2e 3c 2f 73 70 61 6e 3e /.back.to.the.test.block.</span>
a5080 3c 2f 73 70 61 6e 3e 0a 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">....<
a50a0 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 6e 64 3c 2f 73 span.class="tok-kw">nosuspend</s
a50c0 70 61 6e 3e 20 61 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 pan>.amain();</span>.<span.class
a50e0 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
a5100 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"><
a5120 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
a5140 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 pan.class="tok-fn">amain</span>(
a5160 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
a5180 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"
a51a0 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
a51c0 70 61 6e 3e 20 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 pan>.frame.=.<span.class="tok-kw
a51e0 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ">async</span>.func();</span>.<s
a5200 70 61 6e 20 63 6c 61 73 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
a5220 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ="tok-kw">comptime</span>.<span.
a5240 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
a5260 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 (<span.class="tok-builtin">@Type
a5280 4f 66 3c 2f 73 70 61 6e 3e 28 66 72 61 6d 65 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d Of</span>(frame).==.<span.class=
a52a0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 "tok-builtin">@Frame</span>(func
a52c0 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"></
a52e0 73 70 61 6e 3e 0a 3c 73 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
a5300 61 6e 20 63 6c 61 73 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
a5320 74 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d tr:.<span.class="tok-kw">anyfram
a5340 65 3c 2f 73 70 61 6e 3e 2d 26 67 74 3b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 e</span>-&gt;<span.class="tok-ty
a5360 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 66 72 61 6d 65 3b 3c 2f 73 pe">void</span>.=.&amp;frame;</s
a5380 70 61 6e 3e 0a 3c 73 70 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
a53a0 6e 20 63 6c 61 73 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
a53c0 79 5f 70 74 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 y_ptr:.<span.class="tok-kw">anyf
a53e0 72 61 6d 65 3c 2f 73 70 61 6e 3e 20 3d 20 70 74 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 rame</span>.=.ptr;</span>.<span.
a5400 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
a5420 3d 22 6c 69 6e 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"
a5440 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 61 6e 79 5f 70 74 72 3b 3c 2f 73 70 61 6e 3e 0a 3c >resume</span>.any_ptr;</span>.<
a5460 73 70 61 6e 20 63 6c 61 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
a5480 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3b 3c 2f 73 70 s="tok-kw">await</span>.ptr;</sp
a54a0 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>.
a54c0 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
a54e0 20 63 6c 61 73 73 3d 22 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
a5500 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
a5520 22 3e 66 75 6e 63 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 ">func</span>().<span.class="tok
a5540 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
a5560 6e 20 63 6c 61 73 73 3d 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="
a5580 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e tok-kw">suspend</span>.{}</span>
a55a0 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
a55c0 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
a55e0 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
a5600 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
a5620 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 73 79 6e 63 5f 61 77 ="line">$.<kbd>zig.test.async_aw
a5640 61 69 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ait.zig</kbd></span>.<span.class
a5660 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 61 6e 64 ="line">1/1.test.&quot;async.and
a5680 20 61 77 61 69 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .await&quot;....OK</span>.<span.
a56a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e class="line">All.1.tests.passed.
a56c0 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
a56e0 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
a5700 6c 61 73 73 3d 22 6c 69 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"
a5720 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 3e 20 6b 65 79 77 >await</span></span></code>.keyw
a5740 6f 72 64 20 69 73 20 75 73 65 64 20 74 6f 20 63 6f 6f 72 64 69 6e 61 74 65 20 77 69 74 68 20 61 ord.is.used.to.coordinate.with.a
a5760 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 27 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c n.async.function's.......<code><
a5780 73 70 61 6e 20 63 6c 61 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
a57a0 6f 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 ok-kw">return</span></span></cod
a57c0 65 3e 20 73 74 61 74 65 6d 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c e>.statement........</p>.......<
a57e0 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
a5800 22 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 "><span.class="tok-kw">await</sp
a5820 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 73 75 73 70 65 6e 64 20 70 an></span></code>.is.a.suspend.p
a5840 6f 69 6e 74 2c 20 61 6e 64 20 74 61 6b 65 73 20 61 73 20 61 6e 20 6f 70 65 72 61 6e 64 20 61 6e oint,.and.takes.as.an.operand.an
a5860 79 74 68 69 6e 67 20 74 68 61 74 0a 20 20 20 20 20 20 63 6f 65 72 63 65 73 20 74 6f 20 3c 63 6f ything.that.......coerces.to.<co
a5880 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
a58a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 2d 26 67 74 3b 54 s="tok-kw">anyframe</span>-&gt;T
a58c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 </span></code>..Calling.<code><s
a58e0 70 61 6e 20 63 6c 61 73 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
a5900 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 3e k-kw">await</span></span></code>
a5920 20 6f 6e 0a 20 20 20 20 20 20 74 68 65 20 66 72 61 6d 65 20 6f 66 20 61 6e 20 61 73 79 6e 63 20 .on.......the.frame.of.an.async.
a5940 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 63 61 75 73 65 20 65 78 65 63 75 74 69 6f 6e 20 74 6f function.will.cause.execution.to
a5960 20 63 6f 6e 74 69 6e 75 65 20 61 74 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 .continue.at.the.......<code><sp
a5980 61 6e 20 63 6c 61 73 73 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
a59a0 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 3e 20 -kw">await</span></span></code>.
a59c0 63 61 6c 6c 73 69 74 65 20 6f 6e 63 65 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f callsite.once.the.target.functio
a59e0 6e 20 63 6f 6d 70 6c 65 74 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 n.completes........</p>.......<p
a5a00 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 20 63 6f 6d 6d 6f 6e 20 6d 69 73 63 6f 6e >.......There.is.a.common.miscon
a5a20 63 65 70 74 69 6f 6e 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 ception.that.<code><span.class="
a5a40 6c 69 6e 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 77 61 69 74 line"><span.class="tok-kw">await
a5a60 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 6d 65 73 20 74 68 </span></span></code>.resumes.th
a5a80 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 74 e.target.function........It.is.t
a5aa0 68 65 20 6f 74 68 65 72 20 77 61 79 20 61 72 6f 75 6e 64 3a 20 69 74 20 73 75 73 70 65 6e 64 73 he.other.way.around:.it.suspends
a5ac0 20 75 6e 74 69 6c 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 6c .until.the.target.function.compl
a5ae0 65 74 65 73 2e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 20 65 76 65 6e 74 20 74 68 61 74 20 74 68 etes........In.the.event.that.th
a5b00 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 61 6c 72 65 61 64 79 20 63 6f e.target.function.has.already.co
a5b20 6d 70 6c 65 74 65 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 mpleted,.<code><span.class="line
a5b40 22 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 "><span.class="tok-kw">await</sp
a5b60 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 an></span></code>.......does.not
a5b80 20 73 75 73 70 65 6e 64 3b 20 69 6e 73 74 65 61 64 20 69 74 20 63 6f 70 69 65 73 20 74 68 65 0a .suspend;.instead.it.copies.the.
a5ba0 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 64 69 72 65 63 74 6c 79 20 66 72 6f 6d ......return.value.directly.from
a5bc0 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 2e 0a 20 20 .the.target.function's.frame....
a5be0 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
a5c00 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="
a5c20 66 69 6c 65 22 3e 61 73 79 6e 63 5f 61 77 61 69 74 5f 73 65 71 75 65 6e 63 65 2e 7a 69 67 3c 2f file">async_await_sequence.zig</
a5c40 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
a5c60 61 6e 20 63 6c 61 73 73 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
a5c80 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
a5ca0 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>
a5cc0 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
a5ce0 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
a5d00 73 73 3d 22 6c 69 6e 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
a5d20 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
a5d40 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
a5d60 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
a5d80 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 74 68 pan.class="tok-kw">var</span>.th
a5da0 65 5f 66 72 61 6d 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 e_frame:.<span.class="tok-kw">an
a5dc0 79 66 72 61 6d 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 yframe</span>.=.<span.class="tok
a5de0 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>.
a5e00 3c 73 70 61 6e 20 63 6c 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="
a5e20 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 69 6e 61 6c 5f 72 65 73 75 6c 74 3a tok-kw">var</span>.final_result:
a5e40 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
a5e60 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c n>.=.<span.class="tok-number">0<
a5e80 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
a5ea0 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
a5ec0 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
a5ee0 70 61 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 73 79 6e 63 20 pan.class="tok-str">&quot;async.
a5f00 66 75 6e 63 74 69 6f 6e 20 61 77 61 69 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 function.await&quot;</span>.{</s
a5f20 70 61 6e 3e 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 71 28 pan>.<span.class="line">....seq(
a5f40 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>
a5f60 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">...
a5f80 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c ._.=.<span.class="tok-kw">async<
a5fa0 2f 73 70 61 6e 3e 20 61 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 /span>.amain();</span>.<span.cla
a5fc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">....seq(<span.class="t
a5fe0 6f 6b 2d 73 74 72 22 3e 27 66 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-str">'f'</span>);</span>.<spa
a6000 6e 20 63 6c 61 73 73 3d 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="
a6020 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 74 68 65 5f 66 72 61 6d 65 3b tok-kw">resume</span>.the_frame;
a6040 3c 2f 73 70 61 6e 3e 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
a6060 65 71 28 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 eq(<span.class="tok-str">'i'</sp
a6080 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">
a60a0 20 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
a60c0 61 6e 3e 20 65 78 70 65 63 74 28 66 69 6e 61 6c 5f 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e an>.expect(final_result.==.<span
a60e0 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 29 .class="tok-number">1234</span>)
a6100 3b 3c 2f 73 70 61 6e 3e 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">....
a6120 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>.
a6140 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="
a6160 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 73 65 71 5f 70 6f tok-type">u8</span>,.&amp;seq_po
a6180 69 6e 74 73 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 ints,.<span.class="tok-str">&quo
a61a0 74 3b 61 62 63 64 65 66 67 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 t;abcdefghi&quot;</span>));</spa
a61c0 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>.<
a61e0 73 70 61 6e 20 63 6c 61 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
a6200 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
a6220 6b 2d 66 6e 22 3e 61 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 k-fn">amain</span>().<span.class
a6240 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>
a6260 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 71 28 3c 73 70 61 .<span.class="line">....seq(<spa
a6280 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 62 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f n.class="tok-str">'b'</span>);</
a62a0 73 70 61 6e 3e 0a 3c 73 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
a62c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d an.class="tok-kw">var</span>.f.=
a62e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 .<span.class="tok-kw">async</spa
a6300 6e 3e 20 61 6e 6f 74 68 65 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 n>.another();</span>.<span.class
a6320 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ="line">....seq(<span.class="tok
a6340 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -str">'e'</span>);</span>.<span.
a6360 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 69 6e 61 6c 5f 72 65 73 75 6c 74 20 3d 20 class="line">....final_result.=.
a6380 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
a63a0 3e 20 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 >.f;</span>.<span.class="line">.
a63c0 20 20 20 73 65 71 28 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 ...seq(<span.class="tok-str">'h'
a63e0 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
a6400 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">
a6420 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>.<
a6440 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6e 6f 74 68 65 72 3c 2f 73 70 61 span.class="tok-fn">another</spa
a6460 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 33 32 3c n>().<span.class="tok-type">i32<
a6480 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
a64a0 65 22 3e 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 e">....seq(<span.class="tok-str"
a64c0 3e 27 63 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 73 73 >'c'</span>);</span>.<span.class
a64e0 3d 22 6c 69 6e 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"
a6500 3e 73 75 73 70 65 6e 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 >suspend</span>.{</span>.<span.c
a6520 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c lass="line">........seq(<span.cl
a6540 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 64 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ass="tok-str">'d'</span>);</span
a6560 3e 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 74 68 65 >.<span.class="line">........the
a6580 5f 66 72 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 6c 74 69 _frame.=.<span.class="tok-builti
a65a0 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n">@frame</span>();</span>.<span
a65c0 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
a65e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 .class="line">....seq(<span.clas
a6600 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 67 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a s="tok-str">'g'</span>);</span>.
a6620 3c 73 70 61 6e 20 63 6c 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
a6640 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.
a6660 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>;<
a6680 2f 73 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
a66a0 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
a66c0 70 61 6e 20 63 6c 61 73 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
a66e0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 65 71 5f 70 6f 69 6e 74 73 20 3d 20 5b 5f k-kw">var</span>.seq_points.=.[_
a6700 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
a6720 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 70 >{<span.class="tok-number">0</sp
a6740 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 73 74 72 22 3e 26 71 an>}.**.<span.class="tok-str">&q
a6760 75 6f 74 3b 61 62 63 64 65 66 67 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 6c 65 6e 3b 3c uot;abcdefghi&quot;</span>.len;<
a6780 2f 73 70 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.
a67a0 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 65 71 5f 69 6e class="tok-kw">var</span>.seq_in
a67c0 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 73 69 7a dex:.<span.class="tok-type">usiz
a67e0 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
a6800 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
a6820 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
a6840 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
a6860 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 65 71 3c 2f 73 70 61 6e >.<span.class="tok-fn">seq</span
a6880 3e 28 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f >(c:.<span.class="tok-type">u8</
a68a0 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f span>).<span.class="tok-type">vo
a68c0 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="
a68e0 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 5f 70 6f 69 6e 74 73 5b 73 65 71 5f 69 6e 64 65 78 5d 20 line">....seq_points[seq_index].
a6900 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 3e 20 =.c;</span>.<span.class="line">.
a6920 20 20 20 73 65 71 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ...seq_index.+=.<span.class="tok
a6940 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.
a6960 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
a6980 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
a69a0 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
a69c0 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
a69e0 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 73 79 6e 63 5f 61 77 61 69 74 5f 73 65 71 >$.<kbd>zig.test.async_await_seq
a6a00 75 65 6e 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 uence.zig</kbd></span>.<span.cla
a6a20 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 66 ss="line">1/1.test.&quot;async.f
a6a40 75 6e 63 74 69 6f 6e 20 61 77 61 69 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e unction.await&quot;....OK</span>
a6a60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 .<span.class="line">All.1.tests.
a6a80 70 61 73 73 65 64 2e 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 passed.</span>.</samp></pre></fi
a6aa0 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 67 65 6e 65 72 61 6c gure>.......<p>.......In.general
a6ac0 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
a6ae0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f .class="tok-kw">suspend</span></
a6b00 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6c 6f 77 65 72 20 6c 65 76 65 6c 20 74 68 61 6e span></code>.is.lower.level.than
a6b20 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.
a6b40 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
a6b60 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4d 6f 73 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 20 20 20 20 n></code>..Most.application.....
a6b80 20 20 63 6f 64 65 20 77 69 6c 6c 20 75 73 65 20 6f 6e 6c 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ..code.will.use.only.<code><span
a6ba0 20 63 6c 61 73 73 3d 22 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
a6bc0 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 61 6e w">async</span></span></code>.an
a6be0 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 73 70 61 6e d.<code><span.class="line"><span
a6c00 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 2f 73 70 .class="tok-kw">await</span></sp
a6c20 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 62 75 74 20 65 76 65 6e 74 20 6c 6f 6f 70 0a 20 20 20 20 20 an></code>,.but.event.loop......
a6c40 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 77 69 6c 6c 20 6d 61 6b 65 20 75 73 65 20 6f .implementations.will.make.use.o
a6c60 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
a6c80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f .class="tok-kw">suspend</span></
a6ca0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 74 65 72 6e 61 6c 6c 79 2e 0a 20 20 20 20 20 20 3c span></code>.internally........<
a6cc0 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 73 79 6e 63 2d /p>...............<h3.id="Async-
a6ce0 46 75 6e 63 74 69 6f 6e 2d 45 78 61 6d 70 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d Function-Example"><a.href="#toc-
a6d00 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 2d 45 78 61 6d 70 6c 65 22 3e 41 73 79 6e 63 20 46 75 Async-Function-Example">Async.Fu
a6d20 6e 63 74 69 6f 6e 20 45 78 61 6d 70 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 nction.Example</a>.<a.class="hdr
a6d40 22 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 2d 45 78 61 6d 70 6c 65 22 ".href="#Async-Function-Example"
a6d60 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 50 75 >..</a></h3>........<p>.......Pu
a6d80 74 74 69 6e 67 20 61 6c 6c 20 6f 66 20 74 68 69 73 20 74 6f 67 65 74 68 65 72 2c 20 68 65 72 65 tting.all.of.this.together,.here
a6da0 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 74 79 70 69 63 61 6c 0a 20 20 20 20 20 20 .is.an.example.of.typical.......
a6dc0 3c 63 6f 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
a6de0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e lass="tok-kw">async</span></span
a6e00 3e 3c 2f 63 6f 64 65 3e 2f 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
a6e20 22 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 "><span.class="tok-kw">await</sp
a6e40 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 75 73 61 67 65 3a 0a 20 20 20 20 20 20 3c an></span></code>.usage:.......<
a6e60 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
a6e80 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"
a6ea0 3e 61 73 79 6e 63 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 >async.zig</cite></figcaption><p
a6ec0 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
a6ee0 6e 20 63 6c 61 73 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
a6f00 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
a6f20 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
a6f40 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
a6f60 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
a6f80 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
a6fa0 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
a6fc0 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
a6fe0 6c 61 73 73 3d 22 6c 69 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"
a7000 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"
a7020 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">
a7040 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
a7060 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.
a7080 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 63 6c 61 73 73 class="line">...._.=.<span.class
a70a0 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 61 6d 61 69 6e 57 72 61 70 ="tok-kw">async</span>.amainWrap
a70c0 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 2f ();</span>.<span.class="line"></
a70e0 73 70 61 6e 3e 0a 3c 73 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
a7100 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 79 70 69 63 61 an.class="tok-comment">//.Typica
a7120 6c 6c 79 20 77 65 20 77 6f 75 6c 64 20 75 73 65 20 61 6e 20 65 76 65 6e 74 20 6c 6f 6f 70 20 74 lly.we.would.use.an.event.loop.t
a7140 6f 20 6d 61 6e 61 67 65 20 72 65 73 75 6d 69 6e 67 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e o.manage.resuming.async.function
a7160 73 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 3d 22 6c 69 s,</span></span>.<span.class="li
a7180 6e 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
a71a0 22 3e 2f 2f 20 62 75 74 20 69 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 77 65 20 68 61 72 64 ">//.but.in.this.example.we.hard
a71c0 20 63 6f 64 65 20 77 68 61 74 20 74 68 65 20 65 76 65 6e 74 20 6c 6f 6f 70 20 77 6f 75 6c 64 20 .code.what.the.event.loop.would.
a71e0 64 6f 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 3d 22 6c do,</span></span>.<span.class="l
a7200 69 6e 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
a7220 74 22 3e 2f 2f 20 74 6f 20 6d 61 6b 65 20 74 68 69 6e 67 73 20 64 65 74 65 72 6d 69 6e 69 73 74 t">//.to.make.things.determinist
a7240 69 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 ic.</span></span>.<span.class="l
a7260 69 6e 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
a7280 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 67 6c 6f 62 61 6c 5f 66 69 6c 65 5f 66 72 61 6d 65 3b 3c 2f sume</span>.global_file_frame;</
a72a0 73 70 61 6e 3e 0a 3c 73 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
a72c0 61 6e 20 63 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 20 an.class="tok-kw">resume</span>.
a72e0 67 6c 6f 62 61 6c 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 global_download_frame;</span>.<s
a7300 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.
a7320 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
a7340 3d 22 6c 69 6e 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<
a7360 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 6d 61 69 /span>.<span.class="tok-fn">amai
a7380 6e 57 72 61 70 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nWrap</span>().<span.class="tok-
a73a0 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
a73c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 6d 61 69 6e 28 29 20 3c 73 70 61 6e 20 .class="line">....amain().<span.
a73e0 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 7c 65 7c 20 class="tok-kw">catch</span>.|e|.
a7400 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">....
a7420 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=
a7440 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e "tok-str">&quot;{}\n&quot;</span
a7460 3e 2c 20 2e 7b 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 >,..{e});</span>.<span.class="li
a7480 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"
a74a0 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 >if</span>.(<span.class="tok-bui
a74c0 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 28 29 ltin">@errorReturnTrace</span>()
a74e0 29 20 7c 74 72 61 63 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 ).|trace|.{</span>.<span.class="
a7500 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 64 75 6d 70 line">............std.debug.dump
a7520 53 74 61 63 6b 54 72 61 63 65 28 74 72 61 63 65 2e 2a 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 StackTrace(trace.*);</span>.<spa
a7540 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>.
a7560 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 74 64 2e 70 <span.class="line">........std.p
a7580 72 6f 63 65 73 73 2e 65 78 69 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d rocess.exit(<span.class="tok-num
a75a0 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
a75c0 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
a75e0 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=
a7600 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
a7620 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>
a7640 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e 3c 2f 73 70 61 .<span.class="tok-fn">amain</spa
a7660 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
a7680 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
a76a0 69 6e 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
a76c0 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 68 65 61 70 2e nst</span>.allocator.=.std.heap.
a76e0 70 61 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 page_allocator;</span>.<span.cla
a7700 73 73 3d 22 6c 69 6e 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
a7720 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c w">var</span>.download_frame.=.<
a7740 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e span.class="tok-kw">async</span>
a7760 20 66 65 74 63 68 55 72 6c 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 .fetchUrl(allocator,.<span.class
a7780 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 74 74 70 73 3a 2f 2f 65 78 61 6d 70 6c 65 ="tok-str">&quot;https://example
a77a0 2e 63 6f 6d 2f 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 .com/&quot;</span>);</span>.<spa
a77c0 6e 20 63 6c 61 73 73 3d 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="
a77e0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 77 61 69 74 65 64 5f 64 6f 77 6e 6c tok-kw">var</span>.awaited_downl
a7800 6f 61 64 5f 66 72 61 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 oad_frame.=.<span.class="tok-nul
a7820 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
a7840 61 73 73 3d 22 6c 69 6e 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-
a7860 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">errdefer</span>.<span.class=
a7880 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 61 77 61 69 74 65 64 5f 64 6f 77 "tok-kw">if</span>.(!awaited_dow
a78a0 6e 6c 6f 61 64 5f 66 72 61 6d 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 nload_frame).{</span>.<span.clas
a78c0 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
a78e0 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f k-kw">if</span>.(<span.class="to
a7900 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d k-kw">await</span>.download_fram
a7920 65 29 20 7c 72 7c 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 29 20 3c 73 70 61 6e 20 63 e).|r|.allocator.free(r).<span.c
a7940 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 7d lass="tok-kw">else</span>.|_|.{}
a7960 3c 2f 73 70 61 6e 3e 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">....}
a7980 3b 3c 2f 73 70 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
a79a0 61 6e 3e 0a 3c 73 70 61 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
a79c0 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 69 6c 65 5f .class="tok-kw">var</span>.file_
a79e0 66 72 61 6d 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 61 73 79 frame.=.<span.class="tok-kw">asy
a7a00 6e 63 3c 2f 73 70 61 6e 3e 20 72 65 61 64 46 69 6c 65 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 nc</span>.readFile(allocator,.<s
a7a20 70 61 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 6f 6d 65 74 68 pan.class="tok-str">&quot;someth
a7a40 69 6e 67 2e 74 78 74 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 ing.txt&quot;</span>);</span>.<s
a7a60 70 61 6e 20 63 6c 61 73 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
a7a80 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 77 61 69 74 65 64 5f 66 69 6c ="tok-kw">var</span>.awaited_fil
a7aa0 65 5f 66 72 61 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 6c 22 e_frame.=.<span.class="tok-null"
a7ac0 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 73 >false</span>;</span>.<span.clas
a7ae0 73 3d 22 6c 69 6e 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
a7b00 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">errdefer</span>.<span.class="t
a7b20 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 61 77 61 69 74 65 64 5f 66 69 6c 65 5f ok-kw">if</span>.(!awaited_file_
a7b40 66 72 61 6d 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 frame).{</span>.<span.class="lin
a7b60 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">
a7b80 69 66 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 6b 77 22 3e if</span>.(<span.class="tok-kw">
a7ba0 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 6d 65 29 20 7c 72 7c 20 61 6c 6c await</span>.file_frame).|r|.all
a7bc0 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ocator.free(r).<span.class="tok-
a7be0 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 kw">else</span>.|_|.{}</span>.<s
a7c00 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 3c pan.class="line">....};</span>.<
a7c20 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.
a7c40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 77 61 69 74 65 64 5f 66 69 6c 65 5f 66 72 class="line">....awaited_file_fr
a7c60 61 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 6c 22 3e 74 72 75 ame.=.<span.class="tok-null">tru
a7c80 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
a7ca0 6e 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
a7cc0 73 74 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 74 65 78 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 st</span>.file_text.=.<span.clas
a7ce0 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 61 73 s="tok-kw">try</span>.<span.clas
a7d00 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 s="tok-kw">await</span>.file_fra
a7d20 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 22 3e 20 20 me;</span>.<span.class="line">..
a7d40 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 70 ..<span.class="tok-kw">defer</sp
a7d60 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 66 69 6c 65 5f 74 65 78 74 29 3b 3c 2f an>.allocator.free(file_text);</
a7d80 73 70 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>
a7da0 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 77 61 69 74 65 64 5f .<span.class="line">....awaited_
a7dc0 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f download_frame.=.<span.class="to
a7de0 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 61 k-null">true</span>;</span>.<spa
a7e00 6e 20 63 6c 61 73 73 3d 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="
a7e20 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 74 65 tok-kw">const</span>.download_te
a7e40 78 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 74 72 79 3c 2f 73 xt.=.<span.class="tok-kw">try</s
a7e60 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c pan>.<span.class="tok-kw">await<
a7e80 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 /span>.download_frame;</span>.<s
a7ea0 70 61 6e 20 63 6c 61 73 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
a7ec0 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 ="tok-kw">defer</span>.allocator
a7ee0 2e 66 72 65 65 28 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .free(download_text);</span>.<sp
a7f00 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
a7f20 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(<
a7f40 73 70 61 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 6f 77 6e 6c span.class="tok-str">&quot;downl
a7f60 6f 61 64 5f 74 65 78 74 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b oad_text:.{s}\n&quot;</span>,..{
a7f80 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c download_text});</span>.<span.cl
a7fa0 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(<
a7fc0 73 70 61 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 6c 65 5f span.class="tok-str">&quot;file_
a7fe0 74 65 78 74 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 69 6c 65 text:.{s}\n&quot;</span>,..{file
a8000 5f 74 65 78 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 _text});</span>.<span.class="lin
a8020 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"><
a8040 2f 73 70 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.
a8060 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 6c 6f 62 61 6c class="tok-kw">var</span>.global
a8080 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f _download_frame:.<span.class="to
a80a0 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c k-kw">anyframe</span>.=.<span.cl
a80c0 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>;
a80e0 3c 2f 73 70 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
a8100 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.
a8120 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 65 74 63 68 55 72 6c 3c 2f 73 70 61 6e 3e 28 61 class="tok-fn">fetchUrl</span>(a
a8140 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 75 72 6c 3a 20 5b 5d 3c 73 70 61 llocator:.Allocator,.url:.[]<spa
a8160 6e 20 63 6c 61 73 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
a8180 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>).
a81a0 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 ![]<span.class="tok-type">u8</sp
a81c0 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">
a81e0 20 20 20 20 5f 20 3d 20 75 72 6c 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f ...._.=.url;.<span.class="tok-co
a8200 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 69 73 20 6a 75 73 74 20 61 6e 20 65 78 61 6d 70 6c mment">//.this.is.just.an.exampl
a8220 65 2c 20 77 65 20 64 6f 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 64 6f 20 69 74 21 3c 2f 73 70 61 e,.we.don't.actually.do.it!</spa
a8240 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">...
a8260 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
a8280 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 n>.result.=.<span.class="tok-kw"
a82a0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 75 70 65 28 3c 73 70 61 6e >try</span>.allocator.dupe(<span
a82c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 .class="tok-type">u8</span>,.<sp
a82e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 an.class="tok-str">&quot;this.is
a8300 20 74 68 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 75 72 6c 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f .the.downloaded.url.contents&quo
a8320 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="
a8340 6c 69 6e 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 line">....<span.class="tok-kw">e
a8360 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 65 rrdefer</span>.allocator.free(re
a8380 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 65 22 sult);</span>.<span.class="line"
a83a0 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 75 73 70 65 6e >....<span.class="tok-kw">suspen
a83c0 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
a83e0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 ine">........global_download_fra
a8400 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 6c 74 69 6e 22 3e 40 me.=.<span.class="tok-builtin">@
a8420 66 72 61 6d 65 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 61 frame</span>();</span>.<span.cla
a8440 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
a8460 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
a8480 70 61 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 65 74 63 68 55 pan.class="tok-str">&quot;fetchU
a84a0 72 6c 20 72 65 74 75 72 6e 69 6e 67 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d rl.returning\n&quot;</span>,..{}
a84c0 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">...
a84e0 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
a8500 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="
a8520 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
a8540 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
a8560 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 6c 6f an.class="tok-kw">var</span>.glo
a8580 62 61 6c 5f 66 69 6c 65 5f 66 72 61 6d 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b bal_file_frame:.<span.class="tok
a85a0 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 -kw">anyframe</span>.=.<span.cla
a85c0 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 3c ss="tok-null">undefined</span>;<
a85e0 2f 73 70 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.
a8600 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
a8620 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 65 61 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 28 61 6c lass="tok-fn">readFile</span>(al
a8640 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 66 69 6c 65 6e 61 6d 65 3a 20 5b 5d locator:.Allocator,.filename:.[]
a8660 3c 73 70 61 6e 20 63 6c 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
a8680 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
a86a0 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 79 70 65 22 3e 75 38 n>).![]<span.class="tok-type">u8
a86c0 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
a86e0 6e 65 22 3e 20 20 20 20 5f 20 3d 20 66 69 6c 65 6e 61 6d 65 3b 20 3c 73 70 61 6e 20 63 6c 61 73 ne">...._.=.filename;.<span.clas
a8700 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 69 73 20 6a 75 73 74 20 s="tok-comment">//.this.is.just.
a8720 61 6e 20 65 78 61 6d 70 6c 65 2c 20 77 65 20 64 6f 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 64 6f an.example,.we.don't.actually.do
a8740 20 69 74 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 73 3d 22 .it!</span></span>.<span.class="
a8760 6c 69 6e 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
a8780 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 63 6c 61 73 73 onst</span>.result.=.<span.class
a87a0 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 74 6f 72 2e 64 ="tok-kw">try</span>.allocator.d
a87c0 75 70 65 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 upe(<span.class="tok-type">u8</s
a87e0 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f pan>,.<span.class="tok-str">&quo
a8800 74 3b 74 68 69 73 20 69 73 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f 74 t;this.is.the.file.contents&quot
a8820 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
a8840 69 6e 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
a8860 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 65 73 rdefer</span>.allocator.free(res
a8880 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">
a88a0 20 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 75 73 70 65 6e 64 ....<span.class="tok-kw">suspend
a88c0 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
a88e0 6e 65 22 3e 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 5f 66 69 6c 65 5f 66 72 61 6d 65 20 3d 20 ne">........global_file_frame.=.
a8900 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 <span.class="tok-builtin">@frame
a8920 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 61 73 73 3d 22 6c </span>();</span>.<span.class="l
a8940 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
a8960 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 61 6e 20 63 ine">....std.debug.print(<span.c
a8980 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 65 61 64 46 69 6c 65 20 72 65 lass="tok-str">&quot;readFile.re
a89a0 74 75 72 6e 69 6e 67 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 turning\n&quot;</span>,..{});</s
a89c0 70 61 6e 3e 0a 3c 73 70 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
a89e0 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 72 n.class="tok-kw">return</span>.r
a8a00 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"
a8a20 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><
a8a40 66 69 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-
a8a60 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
a8a80 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
a8aa0 62 75 69 6c 64 2d 65 78 65 20 61 73 79 6e 63 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e build-exe.async.zig</kbd></span>
a8ac0 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
a8ae0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 61 73 79 6e 63 3c 2f 6b n.class="line">$.<kbd>./async</k
a8b00 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 bd></span>.<span.class="line">re
a8b20 61 64 46 69 6c 65 20 72 65 74 75 72 6e 69 6e 67 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c adFile.returning</span>.<span.cl
a8b40 61 73 73 3d 22 6c 69 6e 65 22 3e 66 65 74 63 68 55 72 6c 20 72 65 74 75 72 6e 69 6e 67 3c 2f 73 ass="line">fetchUrl.returning</s
a8b60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 77 6e 6c 6f 61 64 pan>.<span.class="line">download
a8b80 5f 74 65 78 74 3a 20 74 68 69 73 20 69 73 20 74 68 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 75 72 _text:.this.is.the.downloaded.ur
a8ba0 6c 20 63 6f 6e 74 65 6e 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c l.contents</span>.<span.class="l
a8bc0 69 6e 65 22 3e 66 69 6c 65 5f 74 65 78 74 3a 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 6c 65 ine">file_text:.this.is.the.file
a8be0 20 63 6f 6e 74 65 6e 74 73 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f .contents</span>.</samp></pre></
a8c00 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 77 20 77 65 20 72 figure>.......<p>.......Now.we.r
a8c20 65 6d 6f 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 6e emove.the.<code><span.class="lin
a8c40 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 75 73 70 65 6e 64 3c e"><span.class="tok-kw">suspend<
a8c60 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 64 65 3e 3c /span></span></code>.and.<code><
a8c80 73 70 61 6e 20 63 6c 61 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
a8ca0 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 6f 64 ok-kw">resume</span></span></cod
a8cc0 65 3e 20 63 6f 64 65 2c 20 61 6e 64 0a 20 20 20 20 20 20 6f 62 73 65 72 76 65 20 74 68 65 20 73 e>.code,.and.......observe.the.s
a8ce0 61 6d 65 20 62 65 68 61 76 69 6f 72 2c 20 77 69 74 68 20 6f 6e 65 20 74 69 6e 79 20 64 69 66 66 ame.behavior,.with.one.tiny.diff
a8d00 65 72 65 6e 63 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 erence:.......</p>.......<figure
a8d20 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
a8d40 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 6c 6f 63 6b 69 6e 67 2e 7a 69 67 3c 2f 63 69 te.class="file">blocking.zig</ci
a8d60 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
a8d80 20 63 6c 61 73 73 3d 22 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
a8da0 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
a8dc0 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>(<
a8de0 73 70 61 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
a8e00 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
a8e20 3d 22 6c 69 6e 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
a8e40 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c st</span>.Allocator.=.std.mem.Al
a8e60 6c 6f 63 61 74 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 locator;</span>.<span.class="lin
a8e80 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
a8ea0 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
a8ec0 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
a8ee0 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>().
a8f00 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
a8f20 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">.
a8f40 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e ..._.=.<span.class="tok-kw">asyn
a8f60 63 3c 2f 73 70 61 6e 3e 20 61 6d 61 69 6e 57 72 61 70 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 c</span>.amainWrap();</span>.<sp
a8f80 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
a8fa0 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=
a8fc0 22 6c 69 6e 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</
a8fe0 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 6d 61 69 6e span>.<span.class="tok-fn">amain
a9000 57 72 61 70 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 Wrap</span>().<span.class="tok-t
a9020 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.
a9040 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 6d 61 69 6e 28 29 20 3c 73 70 61 6e 20 63 class="line">....amain().<span.c
a9060 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 7c 65 7c 20 7b lass="tok-kw">catch</span>.|e|.{
a9080 3c 2f 73 70 61 6e 3e 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">.....
a90a0 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="
a90c0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e tok-str">&quot;{}\n&quot;</span>
a90e0 2c 20 2e 7b 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 ,..{e});</span>.<span.class="lin
a9100 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">
a9120 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c if</span>.(<span.class="tok-buil
a9140 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 28 29 29 tin">@errorReturnTrace</span>())
a9160 20 7c 74 72 61 63 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 .|trace|.{</span>.<span.class="l
a9180 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 64 75 6d 70 53 ine">............std.debug.dumpS
a91a0 74 61 63 6b 54 72 61 63 65 28 74 72 61 63 65 2e 2a 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e tackTrace(trace.*);</span>.<span
a91c0 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>.<
a91e0 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 74 64 2e 70 72 span.class="line">........std.pr
a9200 6f 63 65 73 73 2e 65 78 69 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ocess.exit(<span.class="tok-numb
a9220 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 73 er">1</span>);</span>.<span.clas
a9240 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
a9260 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="
a9280 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"
a92a0 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>.
a92c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e 3c 2f 73 70 61 6e <span.class="tok-fn">amain</span
a92e0 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 64 >().!<span.class="tok-type">void
a9300 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
a9320 6e 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
a9340 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 68 65 61 70 2e 70 st</span>.allocator.=.std.heap.p
a9360 61 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 age_allocator;</span>.<span.clas
a9380 73 3d 22 6c 69 6e 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
a93a0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c 73 ">var</span>.download_frame.=.<s
a93c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">async</span>.
a93e0 66 65 74 63 68 55 72 6c 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d fetchUrl(allocator,.<span.class=
a9400 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 74 74 70 73 3a 2f 2f 65 78 61 6d 70 6c 65 2e "tok-str">&quot;https://example.
a9420 63 6f 6d 2f 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 com/&quot;</span>);</span>.<span
a9440 20 63 6c 61 73 73 3d 22 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
a9460 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 77 61 69 74 65 64 5f 64 6f 77 6e 6c 6f ok-kw">var</span>.awaited_downlo
a9480 61 64 5f 66 72 61 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 6c ad_frame.=.<span.class="tok-null
a94a0 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
a94c0 73 73 3d 22 6c 69 6e 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
a94e0 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w">errdefer</span>.<span.class="
a9500 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 61 77 61 69 74 65 64 5f 64 6f 77 6e tok-kw">if</span>.(!awaited_down
a9520 6c 6f 61 64 5f 66 72 61 6d 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 load_frame).{</span>.<span.class
a9540 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
a9560 2d 6b 77 22 3e 69 66 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 -kw">if</span>.(<span.class="tok
a9580 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 -kw">await</span>.download_frame
a95a0 29 20 7c 72 7c 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 29 20 3c 73 70 61 6e 20 63 6c ).|r|.allocator.free(r).<span.cl
a95c0 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 7d 3c ass="tok-kw">else</span>.|_|.{}<
a95e0 2f 73 70 61 6e 3e 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">....};
a9600 3c 2f 73 70 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
a9620 6e 3e 0a 3c 73 70 61 6e 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.
a9640 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 69 6c 65 5f 66 class="tok-kw">var</span>.file_f
a9660 72 61 6d 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 61 73 79 6e rame.=.<span.class="tok-kw">asyn
a9680 63 3c 2f 73 70 61 6e 3e 20 72 65 61 64 46 69 6c 65 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 c</span>.readFile(allocator,.<sp
a96a0 61 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 6f 6d 65 74 68 69 an.class="tok-str">&quot;somethi
a96c0 6e 67 2e 74 78 74 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 ng.txt&quot;</span>);</span>.<sp
a96e0 61 6e 20 63 6c 61 73 73 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=
a9700 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 77 61 69 74 65 64 5f 66 69 6c 65 "tok-kw">var</span>.awaited_file
a9720 5f 66 72 61 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 6c 22 3e _frame.=.<span.class="tok-null">
a9740 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 73 73 false</span>;</span>.<span.class
a9760 3d 22 6c 69 6e 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"
a9780 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >errdefer</span>.<span.class="to
a97a0 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 61 77 61 69 74 65 64 5f 66 69 6c 65 5f 66 k-kw">if</span>.(!awaited_file_f
a97c0 72 61 6d 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 rame).{</span>.<span.class="line
a97e0 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 69 ">........<span.class="tok-kw">i
a9800 66 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 6b 77 22 3e 61 f</span>.(<span.class="tok-kw">a
a9820 77 61 69 74 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 6d 65 29 20 7c 72 7c 20 61 6c 6c 6f wait</span>.file_frame).|r|.allo
a9840 63 61 74 6f 72 2e 66 72 65 65 28 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b cator.free(r).<span.class="tok-k
a9860 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 w">else</span>.|_|.{}</span>.<sp
a9880 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
a98a0 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
a98c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 77 61 69 74 65 64 5f 66 69 6c 65 5f 66 72 61 lass="line">....awaited_file_fra
a98e0 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 6c 22 3e 74 72 75 65 me.=.<span.class="tok-null">true
a9900 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
a9920 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
a9940 74 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 74 65 78 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 t</span>.file_text.=.<span.class
a9960 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
a9980 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 6d ="tok-kw">await</span>.file_fram
a99a0 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">...
a99c0 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 70 61 .<span.class="tok-kw">defer</spa
a99e0 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 66 69 6c 65 5f 74 65 78 74 29 3b 3c 2f 73 n>.allocator.free(file_text);</s
a9a00 70 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>.
a9a20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 77 61 69 74 65 64 5f 64 <span.class="line">....awaited_d
a9a40 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ownload_frame.=.<span.class="tok
a9a60 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 61 6e -null">true</span>;</span>.<span
a9a80 20 63 6c 61 73 73 3d 22 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
a9aa0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 ok-kw">const</span>.download_tex
a9ac0 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 74 72 79 3c 2f 73 70 t.=.<span.class="tok-kw">try</sp
a9ae0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f an>.<span.class="tok-kw">await</
a9b00 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 span>.download_frame;</span>.<sp
a9b20 61 6e 20 63 6c 61 73 73 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=
a9b40 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e "tok-kw">defer</span>.allocator.
a9b60 66 72 65 65 28 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 free(download_text);</span>.<spa
a9b80 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
a9ba0 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
a9bc0 70 61 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 6f 77 6e 6c 6f pan.class="tok-str">&quot;downlo
a9be0 61 64 5f 74 65 78 74 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 64 ad_text:.{s}\n&quot;</span>,..{d
a9c00 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ownload_text});</span>.<span.cla
a9c20 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
a9c40 70 61 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 6c 65 5f 74 pan.class="tok-str">&quot;file_t
a9c60 65 78 74 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 69 6c 65 5f ext:.{s}\n&quot;</span>,..{file_
a9c80 74 65 78 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 text});</span>.<span.class="line
a9ca0 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"></
a9cc0 73 70 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
a9ce0 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
a9d00 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 65 74 63 68 55 72 6c 3c 2f 73 70 61 6e 3e 28 61 6c 6c ass="tok-fn">fetchUrl</span>(all
a9d20 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 75 72 6c 3a 20 5b 5d 3c 73 70 61 6e 20 ocator:.Allocator,.url:.[]<span.
a9d40 63 6c 61 73 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
a9d60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b n.class="tok-type">u8</span>).![
a9d80 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
a9da0 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">..
a9dc0 20 20 5f 20 3d 20 75 72 6c 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d .._.=.url;.<span.class="tok-comm
a9de0 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 69 73 20 6a 75 73 74 20 61 6e 20 65 78 61 6d 70 6c 65 2c ent">//.this.is.just.an.example,
a9e00 20 77 65 20 64 6f 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 64 6f 20 69 74 21 3c 2f 73 70 61 6e 3e .we.don't.actually.do.it!</span>
a9e20 3c 2f 73 70 61 6e 3e 0a 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">....<
a9e40 73 70 61 6e 20 63 6c 61 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>
a9e60 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 74 .result.=.<span.class="tok-kw">t
a9e80 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 75 70 65 28 3c 73 70 61 6e 20 63 ry</span>.allocator.dupe(<span.c
a9ea0 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
a9ec0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 74 .class="tok-str">&quot;this.is.t
a9ee0 68 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 75 72 6c 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f 74 3b he.downloaded.url.contents&quot;
a9f00 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
a9f20 6e 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
a9f40 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 65 73 75 defer</span>.allocator.free(resu
a9f60 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 20 lt);</span>.<span.class="line">.
a9f80 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="
a9fa0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 65 74 63 68 55 72 6c 20 72 65 74 75 72 6e 69 6e tok-str">&quot;fetchUrl.returnin
a9fc0 67 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 6e 3e 0a 3c g\n&quot;</span>,..{});</span>.<
a9fe0 73 70 61 6e 20 63 6c 61 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
aa000 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b s="tok-kw">return</span>.result;
aa020 3c 2f 73 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
aa040 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>.<
aa060 73 70 61 6e 20 63 6c 61 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
aa080 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
aa0a0 6b 2d 66 6e 22 3e 72 65 61 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a k-fn">readFile</span>(allocator:
aa0c0 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 66 69 6c 65 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c .Allocator,.filename:.[]<span.cl
aa0e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ass="tok-kw">const</span>.<span.
aa100 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 3c class="tok-type">u8</span>).![]<
aa120 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>.
aa140 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">....
aa160 5f 20 3d 20 66 69 6c 65 6e 61 6d 65 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 _.=.filename;.<span.class="tok-c
aa180 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 69 73 20 6a 75 73 74 20 61 6e 20 65 78 61 6d 70 omment">//.this.is.just.an.examp
aa1a0 6c 65 2c 20 77 65 20 64 6f 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 64 6f 20 69 74 21 3c 2f 73 70 le,.we.don't.actually.do.it!</sp
aa1c0 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">..
aa1e0 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
aa200 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 an>.result.=.<span.class="tok-kw
aa220 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 75 70 65 28 3c 73 70 61 ">try</span>.allocator.dupe(<spa
aa240 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 73 n.class="tok-type">u8</span>,.<s
aa260 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 pan.class="tok-str">&quot;this.i
aa280 73 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e s.the.file.contents&quot;</span>
aa2a0 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">...
aa2c0 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</
aa2e0 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 65 73 75 6c 74 29 3b 3c 2f 73 span>.allocator.free(result);</s
aa300 70 61 6e 3e 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 pan>.<span.class="line">....std.
aa320 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 74 72 debug.print(<span.class="tok-str
aa340 22 3e 26 71 75 6f 74 3b 72 65 61 64 46 69 6c 65 20 72 65 74 75 72 6e 69 6e 67 5c 6e 26 71 75 6f ">&quot;readFile.returning\n&quo
aa360 74 3b 3c 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 t;</span>,..{});</span>.<span.cl
aa380 61 73 73 3d 22 6c 69 6e 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-
aa3a0 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 2f 73 70 61 6e 3e kw">return</span>.result;</span>
aa3c0 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
aa3e0 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
aa400 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
aa420 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
aa440 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 62 6c 6f ="line">$.<kbd>zig.build-exe.blo
aa460 63 6b 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 cking.zig</kbd></span>.<span.cla
aa480 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
aa4a0 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 62 6c 6f 63 6b 69 6e 67 3c 2f 6b 62 64 3e 3c 2f 73 70 ine">$.<kbd>./blocking</kbd></sp
aa4c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 65 74 63 68 55 72 6c 20 an>.<span.class="line">fetchUrl.
aa4e0 72 65 74 75 72 6e 69 6e 67 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 returning</span>.<span.class="li
aa500 6e 65 22 3e 72 65 61 64 46 69 6c 65 20 72 65 74 75 72 6e 69 6e 67 3c 2f 73 70 61 6e 3e 0a 3c 73 ne">readFile.returning</span>.<s
aa520 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 3a 20 pan.class="line">download_text:.
aa540 74 68 69 73 20 69 73 20 74 68 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 75 72 6c 20 63 6f 6e 74 65 this.is.the.downloaded.url.conte
aa560 6e 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 66 69 nts</span>.<span.class="line">fi
aa580 6c 65 5f 74 65 78 74 3a 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 74 65 6e le_text:.this.is.the.file.conten
aa5a0 74 73 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 ts</span>.</samp></pre></figure>
aa5c0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 65 76 69 6f 75 73 6c 79 2c 20 74 68 65 .......<p>.......Previously,.the
aa5e0 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 65 74 63 68 55 .<code><span.class="line">fetchU
aa600 72 6c 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 rl</span></code>.and.<code><span
aa620 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 61 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 .class="line">readFile</span></c
aa640 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 73 20 73 75 73 70 65 6e 64 65 64 2c 0a 20 20 20 20 20 20 ode>.functions.suspended,.......
aa660 61 6e 64 20 77 65 72 65 20 72 65 73 75 6d 65 64 20 69 6e 20 61 6e 20 6f 72 64 65 72 20 64 65 74 and.were.resumed.in.an.order.det
aa680 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ermined.by.the.<code><span.class
aa6a0 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 74 ="line">main</span></code>.funct
aa6c0 69 6f 6e 2e 20 4e 6f 77 2c 0a 20 20 20 20 20 20 73 69 6e 63 65 20 74 68 65 72 65 20 61 72 65 20 ion..Now,.......since.there.are.
aa6e0 6e 6f 20 73 75 73 70 65 6e 64 20 70 6f 69 6e 74 73 2c 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 no.suspend.points,.the.order.of.
aa700 74 68 65 20 70 72 69 6e 74 65 64 20 22 2e 2e 2e 20 72 65 74 75 72 6e 69 6e 67 22 20 6d 65 73 73 the.printed."....returning".mess
aa720 61 67 65 73 0a 20 20 20 20 20 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 ages.......is.determined.by.the.
aa740 6f 72 64 65 72 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 order.of.<code><span.class="line
aa760 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 79 6e 63 3c 2f 73 70 "><span.class="tok-kw">async</sp
aa780 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 69 74 65 73 2e 0a 20 20 20 an></span></code>.callsites.....
aa7a0 20 20 20 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 20 20 3c ...</p>........................<
aa7c0 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 65 h2.id="Builtin-Functions"><a.hre
aa7e0 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 74 f="#toc-Builtin-Functions">Built
aa800 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 20 in.Functions</a>.<a.class="hdr".
aa820 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 3e href="#Builtin-Functions">..</a>
aa840 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 66 </h2>........<p>.......Builtin.f
aa860 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 6d unctions.are.provided.by.the.com
aa880 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 64 piler.and.are.prefixed.with.<cod
aa8a0 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 61 e>@</code>........The.<code><spa
aa8c0 6e 20 63 6c 61 73 73 3d 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-
aa8e0 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 65 kw">comptime</span></span></code
aa900 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 74 >.keyword.on.a.parameter.means.t
aa920 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 0a hat.the.parameter.must.be.known.
aa940 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 70 ......at.compile.time........</p
aa960 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 >.......<h3.id="addWithOverflow"
aa980 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e ><a.href="#toc-addWithOverflow">
aa9a0 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 @addWithOverflow</a>.<a.class="h
aa9c0 64 72 22 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 c2 a7 3c 2f dr".href="#addWithOverflow">..</
aa9e0 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.
aaa00 63 6c 61 73 73 3d 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
aaa20 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 3c iltin">@addWithOverflow</span>(<
aaa40 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
aaa60 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
aaa80 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 2c 20 72 65 73 75 6c 74 3a 20 2a pe</span>,.a:.T,.b:.T,.result:.*
aaaa0 54 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 2f T).<span.class="tok-type">bool</
aaac0 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>.......
aaae0 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 <p>.......Performs.<code><span.c
aab00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 2e 2a 20 3d 20 61 20 2b 20 62 3c 2f 73 70 lass="line">result.*.=.a.+.b</sp
aab20 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 an></code>..If.overflow.or.under
aab40 66 6c 6f 77 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 73 20 74 68 flow.occurs,...........stores.th
aab60 65 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e e.overflowed.bits.in.<code><span
aab80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 .class="line">result</span></cod
aaba0 65 3e 20 61 6e 64 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 e>.and.returns.<code><span.class
aabc0 3d 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 74 ="line"><span.class="tok-null">t
aabe0 72 75 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 rue</span></span></code>........
aac00 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 6e ............If.no.overflow.or.un
aac20 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 derflow.occurs,.returns.<code><s
aac40 70 61 6e 20 63 6c 61 73 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
aac60 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 3c 2f 63 6f 64 k-null">false</span></span></cod
aac80 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 e>........</p>..............<h3.
aaca0 69 64 3d 22 61 6c 69 67 6e 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 6c 69 id="alignCast"><a.href="#toc-ali
aacc0 67 6e 43 61 73 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d gnCast">@alignCast</a>.<a.class=
aace0 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f "hdr".href="#alignCast">..</a></
aad00 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
aad20 73 3d 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
aad40 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 n">@alignCast</span>(<span.class
aad60 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 6e 6d ="tok-kw">comptime</span>.alignm
aad80 65 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 39 3c ent:.<span.class="tok-type">u29<
aada0 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 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
aadc0 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
aade0 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
aae00 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 65 3e de></pre>.......<p>.......<code>
aae20 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 2f 63 <span.class="line">ptr</span></c
aae40 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 6c ode>.can.be.<code><span.class="l
aae60 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 73 70 ine">*T</span></code>,.<code><sp
aae80 61 6e 20 63 6c 61 73 73 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
aaea0 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 -kw">fn</span>()</span></code>,.
aaec0 3c 63 6f 64 65 3e 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 <code><span.class="line">?*T</sp
aaee0 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 20 20 20 20 20 an></code>,.....................
aaf00 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 3f 3c 73 70 61 ..<code><span.class="line">?<spa
aaf20 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 28 29 3c 2f 73 70 n.class="tok-kw">fn</span>()</sp
aaf40 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 73 an></code>,.or.<code><span.class
aaf60 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 2e 20 49 74 20 72 65 ="line">[]T</span></code>..It.re
aaf80 74 75 72 6e 73 20 74 68 65 20 73 61 6d 65 20 74 79 70 65 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 turns.the.same.type.as.<code><sp
aafa0 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 2f 63 6f 64 65 an.class="line">ptr</span></code
aafc0 3e 0a 20 20 20 20 20 20 65 78 63 65 70 74 20 77 69 74 68 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e >.......except.with.the.alignmen
aafe0 74 20 61 64 6a 75 73 74 65 64 20 74 6f 20 74 68 65 20 6e 65 77 20 76 61 6c 75 65 2e 0a 20 20 20 t.adjusted.to.the.new.value.....
ab000 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 63 ...</p>.......<p>A.<a.href="#Inc
ab020 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 70 6f 69 6e 74 65 orrect-Pointer-Alignment">pointe
ab040 72 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 66 65 74 79 20 63 68 65 63 6b 3c 2f 61 3e 20 69 73 20 r.alignment.safety.check</a>.is.
ab060 61 64 64 65 64 0a 20 20 20 20 20 20 74 6f 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 added.......to.the.generated.cod
ab080 65 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 70 6f 69 6e 74 65 72 20 69 73 20 61 6c e.to.make.sure.the.pointer.is.al
ab0a0 69 67 6e 65 64 20 61 73 20 70 72 6f 6d 69 73 65 64 2e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 0a 20 igned.as.promised.</p>..........
ab0c0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 6c 69 67 6e 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 .....<h3.id="alignOf"><a.href="#
ab0e0 74 6f 63 2d 61 6c 69 67 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 toc-alignOf">@alignOf</a>.<a.cla
ab100 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 4f 66 22 3e c2 a7 3c 2f 61 3e 3c ss="hdr".href="#alignOf">..</a><
ab120 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
ab140 73 73 3d 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
ab160 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d in">@alignOf</span>(<span.class=
ab180 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
ab1a0 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 20 n.class="tok-type">type</span>).
ab1c0 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_
ab1e0 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 20 int</span></span></code></pre>..
ab200 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 74 .....<p>.......This.function.ret
ab220 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 74 68 61 74 20 74 68 urns.the.number.of.bytes.that.th
ab240 69 73 20 74 79 70 65 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 is.type.should.be.aligned.to....
ab260 20 20 20 66 6f 72 20 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 ...for.the.current.target.to.mat
ab280 63 68 20 74 68 65 20 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 ch.the.C.ABI..When.the.child.typ
ab2a0 65 20 6f 66 20 61 20 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 e.of.a.pointer.has.......this.al
ab2c0 69 67 6e 6d 65 6e 74 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 ignment,.the.alignment.can.be.om
ab2e0 69 74 74 65 64 20 66 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 itted.from.the.type........</p>.
ab300 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
ab320 6e 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</
ab340 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 2d span>.expect.=.<span.class="tok-
ab360 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
ab380 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
ab3a0 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
ab3c0 20 63 6c 61 73 73 3d 22 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
ab3e0 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
ab400 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 2a 3c 73 70 61 6e n.class="line">....assert(*<span
ab420 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 3d 20 .class="tok-type">u32</span>.==.
ab440 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 73 70 61 *<span.class="tok-kw">align</spa
ab460 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c n>(<span.class="tok-builtin">@al
ab480 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 74 79 ignOf</span>(<span.class="tok-ty
ab4a0 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">u32</span>)).<span.class="to
ab4c0 6b 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 k-type">u32</span>);</span>.<spa
ab4e0 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></
ab500 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 pre>.......<p>.......The.result.
ab520 69 73 20 61 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c 65 20 74 69 6d is.a.target-specific.compile.tim
ab540 65 20 63 6f 6e 73 74 61 6e 74 2e 20 49 74 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 e.constant..It.is.guaranteed.to.
ab560 62 65 0a 20 20 20 20 20 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 3c be.......less.than.or.equal.to.<
ab580 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 28 54 29 3c 2f 61 3e 2e a.href="#sizeOf">@sizeOf(T)</a>.
ab5a0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f .......</p>.......<p>See.also:</
ab5c0 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 6c 69 67 6e 6d 65 6e 74 22 3e p><ul>.<li><a.href="#Alignment">
ab5e0 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 Alignment</a></li>.</ul>........
ab600 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ........<h3.id="as"><a.href="#to
ab620 63 2d 61 73 22 3e 40 61 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 c-as">@as</a>.<a.class="hdr".hre
ab640 66 3d 22 23 61 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e f="#as">..</a></h3>........<pre>
ab660 3c 63 6f 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
ab680 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
ab6a0 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
ab6c0 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
ab6e0 65 3c 2f 73 70 61 6e 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 e</span>,.expression).T</span></
ab700 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 72 66 code></pre>.......<p>.......Perf
ab720 6f 72 6d 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 orms.<a.href="#Type-Coercion">Ty
ab740 70 65 20 43 6f 65 72 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 pe.Coercion</a>..This.cast.is.al
ab760 6c 6f 77 65 64 20 77 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 lowed.when.the.conversion.is.una
ab780 6d 62 69 67 75 6f 75 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 mbiguous.and.safe,.......and.is.
ab7a0 74 68 65 20 70 72 65 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 the.preferred.way.to.convert.bet
ab7c0 77 65 65 6e 20 74 79 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 ween.types,.whenever.possible...
ab7e0 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="
ab800 61 73 79 6e 63 43 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 73 79 6e 63 43 61 asyncCall"><a.href="#toc-asyncCa
ab820 6c 6c 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ll">@asyncCall</a>.<a.class="hdr
ab840 22 20 68 72 65 66 3d 22 23 61 73 79 6e 63 43 61 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a ".href="#asyncCall">..</a></h3>.
ab860 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
ab880 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">@
ab8a0 61 73 79 6e 63 43 61 6c 6c 3c 2f 73 70 61 6e 3e 28 66 72 61 6d 65 5f 62 75 66 66 65 72 3a 20 5b asyncCall</span>(frame_buffer:.[
ab8c0 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 ]<span.class="tok-kw">align</spa
ab8e0 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c n>(<span.class="tok-builtin">@al
ab900 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 62 75 ignOf</span>(<span.class="tok-bu
ab920 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 61 6e 79 41 73 79 6e 63 46 75 6e iltin">@Frame</span>(anyAsyncFun
ab940 63 74 69 6f 6e 29 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 ction))).<span.class="tok-type">
ab960 75 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 5f 70 74 72 2c 20 66 75 6e 63 74 69 6f 6e 5f u8</span>,.result_ptr,.function_
ab980 70 74 72 2c 20 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ptr,.args:.<span.class="tok-kw">
ab9a0 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b anytype</span>).<span.class="tok
ab9c0 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 2d 26 67 74 3b 54 3c 2f 73 70 61 6e -kw">anyframe</span>-&gt;T</span
ab9e0 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 3c ></code></pre>.......<p>.......<
aba00 63 6f 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
aba20 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 73 70 ass="tok-builtin">@asyncCall</sp
aba40 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 65 72 66 6f 72 6d 73 20 61 6e 20 3c 63 an></span></code>.performs.an.<c
aba60 6f 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
aba80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ss="tok-kw">async</span></span><
abaa0 2f 63 6f 64 65 3e 20 63 61 6c 6c 20 6f 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 65 /code>.call.on.a.function.pointe
abac0 72 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 62 65 r,.......which.may.or.may.not.be
abae0 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 6e 73 22 3e 61 .an.<a.href="#Async-Functions">a
abb00 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 3c 2f 70 3e 0a 20 20 sync.function</a>........</p>...
abb20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 70 72 6f 76 69 64 65 64 20 3c 63 6f 64 65 ....<p>.......The.provided.<code
abb40 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 72 61 6d 65 5f 62 75 66 66 65 72 ><span.class="line">frame_buffer
abb60 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 6c 61 72 67 65 20 65 6e 6f </span></code>.must.be.large.eno
abb80 75 67 68 20 74 6f 20 66 69 74 20 74 68 65 20 65 6e 74 69 72 65 20 66 75 6e 63 74 69 6f 6e 20 66 ugh.to.fit.the.entire.function.f
abba0 72 61 6d 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 73 69 7a 65 20 63 61 6e 20 62 65 20 64 65 74 rame........This.size.can.be.det
abbc0 65 72 6d 69 6e 65 64 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 66 72 61 6d 65 53 69 7a 65 ermined.with.<a.href="#frameSize
abbe0 22 3e 40 66 72 61 6d 65 53 69 7a 65 3c 2f 61 3e 2e 20 54 6f 20 70 72 6f 76 69 64 65 20 61 20 74 ">@frameSize</a>..To.provide.a.t
abc00 6f 6f 2d 73 6d 61 6c 6c 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 69 6e 76 6f 6b 65 73 20 73 61 oo-small.buffer.......invokes.sa
abc20 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 64 fety-checked.<a.href="#Undefined
abc40 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
abc60 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 63 >........</p>.......<p>.......<c
abc80 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 5f 70 74 ode><span.class="line">result_pt
abca0 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6f 70 74 69 6f 6e 61 6c 20 28 3c 61 20 r</span></code>.is.optional.(<a.
abcc0 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 6d 61 79 20 62 65 20 70 72 6f href="#null">null</a>.may.be.pro
abce0 76 69 64 65 64 29 2e 20 49 66 20 70 72 6f 76 69 64 65 64 2c 0a 20 20 20 20 20 20 74 68 65 20 66 vided)..If.provided,.......the.f
abd00 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 77 69 6c 6c 20 77 72 69 74 65 20 69 74 73 20 72 65 73 75 unction.call.will.write.its.resu
abd20 6c 74 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 70 6f 69 6e 74 65 lt.directly.to.the.result.pointe
abd40 72 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 0a 20 20 r,.which.will.be.available.to...
abd60 20 20 20 20 72 65 61 64 20 61 66 74 65 72 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 61 ....read.after.<a.href="#Async-a
abd80 6e 64 2d 41 77 61 69 74 22 3e 61 77 61 69 74 3c 2f 61 3e 20 63 6f 6d 70 6c 65 74 65 73 2e 20 41 nd-Await">await</a>.completes..A
abda0 6e 79 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 20 74 6f 0a 20 ny.result.location.provided.to..
abdc0 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
abde0 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><
abe00 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 63 6f 70 79 20 74 68 65 20 72 65 73 75 /span></code>.will.copy.the.resu
abe20 6c 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 lt.from.<code><span.class="line"
abe40 3e 72 65 73 75 6c 74 5f 70 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 >result_ptr</span></code>.......
abe60 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.
abe80 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
abea0 65 22 3e 61 73 79 6e 63 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 5f 66 6e 5f 70 6f 69 6e 74 65 72 e">async_struct_field_fn_pointer
abec0 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
abee0 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
abf00 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
abf20 70 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<
abf40 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
abf60 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
abf80 61 6e 20 63 6c 61 73 73 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
abfa0 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 74 -kw">const</span>.expect.=.std.t
abfc0 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
abfe0 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
ac000 6e 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
ac020 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
ac040 3b 61 73 79 6e 63 20 66 6e 20 70 6f 69 6e 74 65 72 20 69 6e 20 61 20 73 74 72 75 63 74 20 66 69 ;async.fn.pointer.in.a.struct.fi
ac060 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.
ac080 63 6c 61 73 73 3d 22 6c 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
ac0a0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 61 74 61 3a 20 3c 73 70 61 6e 20 63 6c 61 k-kw">var</span>.data:.<span.cla
ac0c0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ss="tok-type">i32</span>.=.<span
ac0e0 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
ac100 70 61 6e 3e 0a 3c 73 70 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
ac120 6e 20 63 6c 61 73 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
ac140 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<
ac160 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
ac180 65 22 3e 20 20 20 20 20 20 20 20 62 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">........bar:.<span.class="tok
ac1a0 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f -kw">fn</span>.(*<span.class="to
ac1c0 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 3d k-type">i32</span>).<span.class=
ac1e0 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 41 73 79 6e 63 29 "tok-kw">callconv</span>(.Async)
ac200 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
ac220 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">.
ac240 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">
ac260 20 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
ac280 61 6e 3e 20 66 6f 6f 20 3d 20 46 6f 6f 7b 20 2e 62 61 72 20 3d 20 66 75 6e 63 20 7d 3b 3c 2f 73 an>.foo.=.Foo{..bar.=.func.};</s
ac2a0 70 61 6e 3e 0a 3c 73 70 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
ac2c0 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
ac2e0 73 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 36 34 3c s:.[<span.class="tok-number">64<
ac300 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 38 /span>]<span.class="tok-type">u8
ac320 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 </span>.<span.class="tok-kw">ali
ac340 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 62 75 69 6c 74 gn</span>(<span.class="tok-built
ac360 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d in">@alignOf</span>(<span.class=
ac380 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 "tok-builtin">@Frame</span>(func
ac3a0 29 29 29 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 ))).=.<span.class="tok-null">und
ac3c0 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
ac3e0 73 3d 22 6c 69 6e 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
ac400 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">const</span>.f.=.<span.class="
ac420 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 73 70 61 6e 3e 28 26 tok-builtin">@asyncCall</span>(&
ac440 61 6d 70 3b 62 79 74 65 73 2c 20 7b 7d 2c 20 66 6f 6f 2e 62 61 72 2c 20 2e 7b 26 61 6d 70 3b 64 amp;bytes,.{},.foo.bar,..{&amp;d
ac460 61 74 61 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 ata});</span>.<span.class="line"
ac480 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
ac4a0 70 61 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 pan>.expect(data.==.<span.class=
ac4c0 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>.<
ac4e0 73 70 61 6e 20 63 6c 61 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
ac500 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 66 3b 3c 2f 73 70 61 s="tok-kw">resume</span>.f;</spa
ac520 6e 3e 0a 3c 73 70 61 6e 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.
ac540 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
ac560 28 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 (data.==.<span.class="tok-number
ac580 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 61 73 73 3d ">4</span>);</span>.<span.class=
ac5a0 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
ac5c0 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
ac5e0 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
ac600 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 79 3a an.class="tok-fn">func</span>(y:
ac620 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
ac640 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 an>).<span.class="tok-type">void
ac660 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
ac680 6e 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 ne">....<span.class="tok-kw">def
ac6a0 65 72 3c 2f 73 70 61 6e 3e 20 79 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er</span>.y.*.+=.<span.class="to
ac6c0 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 6e k-number">2</span>;</span>.<span
ac6e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 .class="line">....y.*.+=.<span.c
ac700 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
ac720 6e 3e 0a 3c 73 70 61 6e 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.
ac740 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 20 7b 7d class="tok-kw">suspend</span>.{}
ac760 3c 2f 73 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
ac780 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
ac7a0 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
ac7c0 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 3c 73 70 61 hell</figcaption><pre><samp><spa
ac7e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 n.class="line">$.<kbd>zig.test.a
ac800 73 79 6e 63 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 5f 66 6e 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 sync_struct_field_fn_pointer.zig
ac820 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 </kbd></span>.<span.class="line"
ac840 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 66 6e 20 70 6f 69 6e 74 65 72 >1/1.test.&quot;async.fn.pointer
ac860 20 69 6e 20 61 20 73 74 72 75 63 74 20 66 69 65 6c 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f .in.a.struct.field&quot;....OK</
ac880 73 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 6c 6c 20 31 20 74 span>.<span.class="line">All.1.t
ac8a0 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 ests.passed.</span>.</samp></pre
ac8c0 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=
ac8e0 22 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 74 6f 6d 69 "atomicLoad"><a.href="#toc-atomi
ac900 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d cLoad">@atomicLoad</a>.<a.class=
ac920 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e c2 a7 3c 2f 61 3e 3c "hdr".href="#atomicLoad">..</a><
ac940 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
ac960 73 73 3d 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
ac980 69 6e 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 in">@atomicLoad</span>(<span.cla
ac9a0 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:.<
ac9c0 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
ac9e0 3e 2c 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 63 6f >,.ptr:.*<span.class="tok-kw">co
aca00 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b nst</span>.T,.<span.class="tok-k
aca20 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 69 6e 67 3a 20 62 75 69 w">comptime</span>.ordering:.bui
aca40 6c 74 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ltin.AtomicOrder).T</span></code
aca60 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 ></pre>.......<p>.......This.bui
aca80 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 64 65 72 65 66 65 72 ltin.function.atomically.derefer
acaa0 65 6e 63 65 73 20 61 20 70 6f 69 6e 74 65 72 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 ences.a.pointer.and.returns.the.
acac0 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 value........</p>.......<p>.....
acae0 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 54 3c 2f 73 70 ..<code><span.class="line">T</sp
acb00 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 65 72 2c 20 61 20 an></code>.must.be.a.pointer,.a.
acb20 3c 63 6f 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
acb40 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 lass="tok-type">bool</span></spa
acb60 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 n></code>,.a.float,.......an.int
acb80 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 eger.or.an.enum........</p>.....
acba0 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
acbc0 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</
acbe0 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 52 6d 77 22 a></li>.<li><a.href="#atomicRmw"
acc00 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 >@atomicRmw</a></li>.<li><a.href
acc20 3d 22 23 66 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 ="#fence">@fence</a></li>.<li><a
acc40 20 68 72 65 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 .href="#cmpxchgWeak">@cmpxchgWea
acc60 6b 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 67 k</a></li>.<li><a.href="#cmpxchg
acc80 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 2f 6c 69 3e 0a Strong">@cmpxchgStrong</a></li>.
acca0 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 61 74 6f </ul>................<h3.id="ato
accc0 6d 69 63 52 6d 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 74 6f 6d 69 63 52 6d 77 22 micRmw"><a.href="#toc-atomicRmw"
acce0 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 >@atomicRmw</a>.<a.class="hdr".h
acd00 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 ref="#atomicRmw">..</a></h3>....
acd20 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
acd40 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
acd60 6d 69 63 52 6d 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b micRmw</span>(<span.class="tok-k
acd80 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 w">comptime</span>.T:.<span.clas
acda0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a s="tok-type">type</span>,.ptr:.*
acdc0 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 6d 65 T,.<span.class="tok-kw">comptime
acde0 3c 2f 73 70 61 6e 3e 20 6f 70 3a 20 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 52 6d 77 4f 70 2c </span>.op:.builtin.AtomicRmwOp,
ace00 20 6f 70 65 72 61 6e 64 3a 20 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .operand:.T,.<span.class="tok-kw
ace20 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 69 6e 67 3a 20 62 75 69 6c ">comptime</span>.ordering:.buil
ace40 74 69 6e 2e 41 74 6f 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 tin.AtomicOrder).T</span></code>
ace60 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 6c </pre>.......<p>.......This.buil
ace80 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 6d 6f 64 69 66 69 65 73 tin.function.atomically.modifies
acea0 20 6d 65 6d 6f 72 79 20 61 6e 64 20 74 68 65 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 65 .memory.and.then.returns.the.pre
acec0 76 69 6f 75 73 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 vious.value........</p>.......<p
acee0 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"
acf00 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
acf20 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"><
acf40 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
acf60 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,.......
acf80 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
acfa0 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 65 64 20 6f 70 65 72 >.......<p>.......Supported.oper
acfc0 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 75 6c 3e 0a 20 20 ations:.......</p>.......<ul>...
acfe0 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
ad000 65 22 3e 2e 58 63 68 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 73 74 6f 72 65 73 20 e">.Xchg</span></code>.-.stores.
ad020 74 68 65 20 6f 70 65 72 61 6e 64 20 75 6e 6d 6f 64 69 66 69 65 64 2e 20 53 75 70 70 6f 72 74 73 the.operand.unmodified..Supports
ad040 20 65 6e 75 6d 73 2c 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 .enums,.integers.and.floats.</li
ad060 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 73 3d >.........<li><code><span.class=
ad080 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 2d 20 66 6f 72 20 "line">.Add</span></code>.-.for.
ad0a0 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 61 72 integers,.twos.complement.wrapar
ad0c0 6f 75 6e 64 20 61 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 73 6f 20 ound.addition..............Also.
ad0e0 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 46 6c 6f 61 74 supports.<a.href="#Floats">Float
ad100 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 64 65 3e 3c 73 s</a>.</li>.........<li><code><s
ad120 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 53 75 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f pan.class="line">.Sub</span></co
ad140 64 65 3e 20 2d 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2c 20 74 77 6f 73 20 63 6f 6d 70 6c 65 6d de>.-.for.integers,.twos.complem
ad160 65 6e 74 20 77 72 61 70 61 72 6f 75 6e 64 20 73 75 62 74 72 61 63 74 69 6f 6e 2e 0a 20 20 20 20 ent.wraparound.subtraction......
ad180 20 20 20 20 20 20 20 20 41 6c 73 6f 20 73 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 ........Also.supports.<a.href="#
ad1a0 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 Floats">Floats</a>.</li>........
ad1c0 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 41 .<li><code><span.class="line">.A
ad1e0 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 61 6e 64 3c 2f nd</span></code>.-.bitwise.and</
ad200 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
ad220 73 3d 22 6c 69 6e 65 22 3e 2e 4e 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 s="line">.Nand</span></code>.-.b
ad240 69 74 77 69 73 65 20 6e 61 6e 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f itwise.nand</li>.........<li><co
ad260 64 65 3e 3c 73 70 61 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 de><span.class="line">.Or</span>
ad280 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 74 77 69 73 65 20 6f 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 </code>.-.bitwise.or</li>.......
ad2a0 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">.
ad2c0 58 6f 72 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 78 6f 72 3c Xor</span></code>.-.bitwise.xor<
ad2e0 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 20 63 6c 61 /li>.........<li><code><span.cla
ad300 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 64 65 3e 20 2d 20 73 ss="line">.Max</span></code>.-.s
ad320 74 6f 72 65 73 20 74 68 65 20 6f 70 65 72 61 6e 64 20 69 66 20 69 74 20 69 73 20 6c 61 72 67 65 tores.the.operand.if.it.is.large
ad340 72 2e 20 53 75 70 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 r..Supports.integers.and.floats.
ad360 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 20 63 6c </li>.........<li><code><span.cl
ad380 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 ass="line">.Min</span></code>.-.
ad3a0 73 74 6f 72 65 73 20 74 68 65 20 6f 70 65 72 61 6e 64 20 69 66 20 69 74 20 69 73 20 73 6d 61 6c stores.the.operand.if.it.is.smal
ad3c0 6c 65 72 2e 20 53 75 70 70 6f 72 74 73 20 69 6e 74 65 67 65 72 73 20 61 6e 64 20 66 6c 6f 61 74 ler..Supports.integers.and.float
ad3e0 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 53 65 65 s.</li>.......</ul>.......<p>See
ad400 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
ad420 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>.
ad440 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 <li><a.href="#atomicLoad">@atomi
ad460 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 6e cLoad</a></li>.<li><a.href="#fen
ad480 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d ce">@fence</a></li>.<li><a.href=
ad4a0 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 3c "#cmpxchgWeak">@cmpxchgWeak</a><
ad4c0 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 6e 67 /li>.<li><a.href="#cmpxchgStrong
ad4e0 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 3e 0a ">@cmpxchgStrong</a></li>.</ul>.
ad500 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 53 74 6f ...............<h3.id="atomicSto
ad520 72 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 re"><a.href="#toc-atomicStore">@
ad540 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 atomicStore</a>.<a.class="hdr".h
ad560 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ref="#atomicStore">..</a></h3>..
ad580 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
ad5a0 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
ad5c0 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tomicStore</span>(<span.class="t
ad5e0 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.
ad600 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
ad620 72 3a 20 2a 54 2c 20 76 61 6c 75 65 3a 20 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f r:.*T,.value:.T,.<span.class="to
ad640 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 69 6e 67 3a 20 k-kw">comptime</span>.ordering:.
ad660 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 builtin.AtomicOrder).<span.class
ad680 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></
ad6a0 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 code></pre>.......<p>.......This
ad6c0 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 73 74 6f .builtin.function.atomically.sto
ad6e0 72 65 73 20 61 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 res.a.value........</p>.......<p
ad700 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"
ad720 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
ad740 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"><
ad760 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
ad780 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,.......
ad7a0 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
ad7c0 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
ad7e0 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f ><a.href="#atomicLoad">@atomicLo
ad800 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 ad</a></li>.<li><a.href="#atomic
ad820 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 Rmw">@atomicRmw</a></li>.<li><a.
ad840 68 72 65 66 3d 22 23 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c href="#fence">@fence</a></li>.<l
ad860 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 i><a.href="#cmpxchgWeak">@cmpxch
ad880 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 gWeak</a></li>.<li><a.href="#cmp
ad8a0 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 2f xchgStrong">@cmpxchgStrong</a></
ad8c0 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=
ad8e0 22 62 69 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 74 43 61 73 74 22 "bitCast"><a.href="#toc-bitCast"
ad900 3e 40 62 69 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 >@bitCast</a>.<a.class="hdr".hre
ad920 66 3d 22 23 62 69 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 f="#bitCast">..</a></h3>........
ad940 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
ad960 70 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 43 61 73 74 pan.class="tok-builtin">@bitCast
ad980 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
ad9a0 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 ptime</span>.DestType:.<span.cla
ad9c0 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 76 61 6c 75 65 ss="tok-type">type</span>,.value
ad9e0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f :.<span.class="tok-kw">anytype</
ada00 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 span>).DestType</span></code></p
ada20 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
ada40 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
ada60 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 73 73 ........</p>.......<p>.......Ass
ada80 65 72 74 73 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 erts.that.<code><span.class="lin
adaa0 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
adac0 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 62 75 69 zeOf</span>(<span.class="tok-bui
adae0 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 29 20 3d 3d 20 ltin">@TypeOf</span>(value)).==.
adb00 3c 73 70 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 <span.class="tok-builtin">@sizeO
adb20 66 3c 2f 73 70 61 6e 3e 28 44 65 73 74 54 79 70 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e f</span>(DestType)</span></code>
adb40 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 73 73 ........</p>.......<p>.......Ass
adb60 65 72 74 73 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 erts.that.<code><span.class="lin
adb80 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 79 e"><span.class="tok-builtin">@ty
adba0 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 44 65 73 74 54 79 70 65 29 20 21 3d 20 2e 50 6f 69 6e peInfo</span>(DestType).!=..Poin
adbc0 74 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 ter</span></code>..Use.<code><sp
adbe0 61 6e 20 63 6c 61 73 73 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
adc00 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 3c 2f 73 70 61 6e 3e -builtin">@ptrCast</span></span>
adc20 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </code>.or.<code><span.class="li
adc40 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 69 ne"><span.class="tok-builtin">@i
adc60 6e 74 54 6f 50 74 72 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 ntToPtr</span></span></code>.if.
adc80 79 6f 75 20 6e 65 65 64 20 74 68 69 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 you.need.this........</p>.......
adca0 3c 70 3e 0a 20 20 20 20 20 20 43 61 6e 20 62 65 20 75 73 65 64 20 66 6f 72 20 74 68 65 73 65 20 <p>.......Can.be.used.for.these.
adcc0 74 68 69 6e 67 73 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 things.for.example:.......</p>..
adce0 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6e 76 65 72 74 20 .....<ul>...........<li>Convert.
add00 3c 63 6f 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
add20 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 3c 2f 73 70 61 6e lass="tok-type">f32</span></span
add40 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 6c 61 73 73 3d 22 6c ></code>.to.<code><span.class="l
add60 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 33 32 3c ine"><span.class="tok-type">u32<
add80 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 69 74 73 3c 2f 6c 69 3e 0a 20 /span></span></code>.bits</li>..
adda0 20 20 20 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 .........<li>Convert.<code><span
addc0 20 63 6c 61 73 73 3d 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
adde0 79 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 20 74 6f ype">i32</span></span></code>.to
ade00 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.
ade20 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 61 class="tok-type">u32</span></spa
ade40 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 65 73 65 72 76 69 6e 67 20 74 77 6f 73 20 63 6f 6d 70 6c 65 n></code>.preserving.twos.comple
ade60 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a ment</li>.......</ul>.......<p>.
ade80 20 20 20 20 20 20 57 6f 72 6b 73 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 69 66 20 3c ......Works.at.compile-time.if.<
adea0 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 61 6c 75 65 3c 2f 73 code><span.class="line">value</s
adec0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 20 pan></code>.is.known.at.compile.
adee0 74 69 6d 65 2e 20 49 74 27 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 74 6f 20 62 69 time..It's.a.compile.error.to.bi
adf00 74 63 61 73 74 20 61 20 73 74 72 75 63 74 20 74 6f 20 61 20 73 63 61 6c 61 72 20 74 79 70 65 20 tcast.a.struct.to.a.scalar.type.
adf20 6f 66 20 74 68 65 20 73 61 6d 65 20 73 69 7a 65 20 73 69 6e 63 65 20 73 74 72 75 63 74 73 20 68 of.the.same.size.since.structs.h
adf40 61 76 65 20 75 6e 64 65 66 69 6e 65 64 20 6c 61 79 6f 75 74 2e 20 48 6f 77 65 76 65 72 20 69 66 ave.undefined.layout..However.if
adf60 20 74 68 65 20 73 74 72 75 63 74 20 69 73 20 70 61 63 6b 65 64 20 74 68 65 6e 20 69 74 20 77 6f .the.struct.is.packed.then.it.wo
adf80 72 6b 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 rks........</p>...............<h
adfa0 33 20 69 64 3d 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 3.id="bitOffsetOf"><a.href="#toc
adfc0 2d 62 69 74 4f 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 -bitOffsetOf">@bitOffsetOf</a>.<
adfe0 61 20 63 6c 61 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 a.class="hdr".href="#bitOffsetOf
ae000 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>
ae020 3c 73 70 61 6e 20 63 6c 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="
ae040 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>
ae060 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</
ae080 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">
ae0a0 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 type</span>,.<span.class="tok-kw
ae0c0 22 3e 63 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 ">comptime</span>.field_name:.[]
ae0e0 3c 73 70 61 6e 20 63 6c 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
ae100 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
ae120 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
ae140 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
ae160 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 20 62 e>.......<p>.......Returns.the.b
ae180 69 74 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 it.offset.of.a.field.relative.to
ae1a0 20 69 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 .its.containing.struct........</
ae1c0 70 3e 0a 20 20 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 p>.......<p>.......For.non.<a.hr
ae1e0 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 75 63 ef="#packed-struct">packed.struc
ae200 74 73 3c 2f 61 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 ts</a>,.this.will.always.be.divi
ae220 73 69 62 6c 65 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 sible.by.<code><span.class="line
ae240 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 38 3c 2f 73 70 "><span.class="tok-number">8</sp
ae260 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 46 6f 72 20 70 61 63 an></span></code>........For.pac
ae280 6b 65 64 20 73 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 ked.structs,.non-byte-aligned.fi
ae2a0 65 6c 64 73 20 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 elds.will.share.a.byte.offset,.b
ae2c0 75 74 20 74 68 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 ut.they.will.have.different.....
ae2e0 20 20 62 69 74 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 ..bit.offsets........</p>.......
ae300 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
ae320 3d 22 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 ="#offsetOf">@offsetOf</a></li>.
ae340 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 62 6f 6f </ul>................<h3.id="boo
ae360 6c 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 6f 6f 6c 54 6f 49 6e 74 22 lToInt"><a.href="#toc-boolToInt"
ae380 3e 40 62 6f 6f 6c 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 >@boolToInt</a>.<a.class="hdr".h
ae3a0 72 65 66 3d 22 23 62 6f 6f 6c 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 ref="#boolToInt">..</a></h3>....
ae3c0 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
ae3e0 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 62 6f 6f "><span.class="tok-builtin">@boo
ae400 6c 54 6f 49 6e 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 lToInt</span>(value:.<span.class
ae420 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 ="tok-type">bool</span>).<span.c
ae440 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 3c 2f 73 70 61 6e 3e lass="tok-type">u1</span></span>
ae460 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f </code></pre>.......<p>.......Co
ae480 6e 76 65 72 74 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 nverts.<code><span.class="line">
ae4a0 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
ae4c0 6e 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 n></span></code>.to.<code><span.
ae4e0 63 6c 61 73 73 3d 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
ae500 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
ae520 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-type">u1</span>,.<span.class=
ae540 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-number">1</span>)</span></c
ae560 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 65 ode>.and.<code><span.class="line
ae580 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 2f "><span.class="tok-null">false</
ae5a0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 span></span></code>.to..........
ae5c0 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
ae5e0 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 73 3c "><span.class="tok-builtin">@as<
ae600 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
ae620 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
ae640 22 3e 30 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 ">0</span>)</span></code>.......
ae660 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 20 76 61 6c .</p>.......<p>.......If.the.val
ae680 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 74 68 65 ue.is.known.at.compile-time,.the
ae6a0 20 72 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 .return.type.is.<code><span.clas
ae6c0 73 3d 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">
ae6e0 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
ae700 3e 0a 20 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 >...........instead.of.<code><sp
ae720 61 6e 20 63 6c 61 73 73 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
ae740 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 63 6f 64 65 3e 2e 0a -type">u1</span></span></code>..
ae760 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=
ae780 22 62 69 74 53 69 7a 65 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 74 53 69 7a "bitSizeOf"><a.href="#toc-bitSiz
ae7a0 65 4f 66 22 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 eOf">@bitSizeOf</a>.<a.class="hd
ae7c0 72 22 20 68 72 65 66 3d 22 23 62 69 74 53 69 7a 65 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e r".href="#bitSizeOf">..</a></h3>
ae7e0 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="
ae800 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">
ae820 40 62 69 74 53 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 @bitSizeOf</span>(<span.class="t
ae840 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.
ae860 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 20 3c 73 class="tok-type">type</span>).<s
ae880 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e pan.class="tok-type">comptime_in
ae8a0 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 20 t</span></span></code></pre>....
ae8c0 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 74 75 72 ...<p>.......This.function.retur
ae8e0 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 69 74 20 74 61 6b 65 73 20 74 ns.the.number.of.bits.it.takes.t
ae900 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 3d 22 6c 69 6e 65 22 o.store.<code><span.class="line"
ae920 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 79 20 69 66 20 74 68 >T</span></code>.in.memory.if.th
ae940 65 20 74 79 70 65 0a 20 20 20 20 20 20 77 65 72 65 20 61 20 66 69 65 6c 64 20 69 6e 20 61 20 70 e.type.......were.a.field.in.a.p
ae960 61 63 6b 65 64 20 73 74 72 75 63 74 2f 75 6e 69 6f 6e 2e 0a 20 20 20 20 20 20 54 68 65 20 72 65 acked.struct/union........The.re
ae980 73 75 6c 74 20 69 73 20 61 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c sult.is.a.target-specific.compil
ae9a0 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 e.time.constant........</p>.....
ae9c0 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
ae9e0 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
aea00 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
aea20 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
aea40 73 3d 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">
aea60 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
aea80 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"><
aeaa0 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
aeac0 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.<
aeae0 63 6f 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
aeb00 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>
aeb20 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
aeb40 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 69 7a .also:</p><ul>.<li><a.href="#siz
aeb60 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 eOf">@sizeOf</a></li>.<li><a.hre
aeb80 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 3c 2f 6c 69 3e f="#typeInfo">@typeInfo</a></li>
aeba0 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 62 72 .</ul>................<h3.id="br
aebc0 65 61 6b 70 6f 69 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 72 65 61 6b 70 6f 69 eakpoint"><a.href="#toc-breakpoi
aebe0 6e 74 22 3e 40 62 72 65 61 6b 70 6f 69 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 nt">@breakpoint</a>.<a.class="hd
aec00 72 22 20 68 72 65 66 3d 22 23 62 72 65 61 6b 70 6f 69 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 r".href="#breakpoint">..</a></h3
aec20 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=
aec40 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"
aec60 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 3c 2f 63 6f >@breakpoint</span>()</span></co
aec80 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 de></pre>.......<p>.......This.f
aeca0 75 6e 63 74 69 6f 6e 20 69 6e 73 65 72 74 73 20 61 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69 unction.inserts.a.platform-speci
aecc0 66 69 63 20 64 65 62 75 67 20 74 72 61 70 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 69 63 68 fic.debug.trap.instruction.which
aece0 20 63 61 75 73 65 73 0a 20 20 20 20 20 20 64 65 62 75 67 67 65 72 73 20 74 6f 20 62 72 65 61 6b .causes.......debuggers.to.break
aed00 20 74 68 65 72 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 .there........</p>.......<p>....
aed20 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 69 64 20 77 ...This.function.is.only.valid.w
aed40 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 3c 2f 70 3e ithin.function.scope........</p>
aed60 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 75 6c 41 64 64 22 3e 3c ...............<h3.id="mulAdd"><
aed80 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 3c 2f 61 3e a.href="#toc-mulAdd">@mulAdd</a>
aeda0 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 64 22 3e c2 .<a.class="hdr".href="#mulAdd">.
aedc0 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
aede0 61 6e 20 63 6c 61 73 73 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
aee00 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 61 6e 20 63 -builtin">@mulAdd</span>(<span.c
aee20 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:
aee40 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
aee60 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 61 6e 3e 3c an>,.a:.T,.b:.T,.c:.T).T</span><
aee80 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 75 73 /code></pre>.......<p>.......Fus
aeea0 65 64 20 6d 75 6c 74 69 70 6c 79 20 61 64 64 2c 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 63 6f 64 ed.multiply.add,.similar.to.<cod
aeec0 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 20 2b 20 63 e><span.class="line">(a.*.b).+.c
aeee0 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 20 6f 6e 6c </span></code>,.except.......onl
aef00 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 6f 72 65 20 y.rounds.once,.and.is.thus.more.
aef20 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 70 3e 0a 20 accurate........</p>.......<p>..
aef40 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 46 6c 6f 61 74 73 20 61 6e 64 20 56 65 63 74 6f 72 73 .....Supports.Floats.and.Vectors
aef60 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 .of.floats........</p>..........
aef80 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 79 74 65 53 77 61 70 22 3e 3c 61 20 68 72 65 66 3d 22 .....<h3.id="byteSwap"><a.href="
aefa0 23 74 6f 63 2d 62 79 74 65 53 77 61 70 22 3e 40 62 79 74 65 53 77 61 70 3c 2f 61 3e 20 3c 61 20 #toc-byteSwap">@byteSwap</a>.<a.
aefc0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 79 74 65 53 77 61 70 22 3e c2 a7 3c class="hdr".href="#byteSwap">..<
aefe0 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
af000 20 63 6c 61 73 73 3d 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
af020 75 69 6c 74 69 6e 22 3e 40 62 79 74 65 53 77 61 70 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 uiltin">@byteSwap</span>(<span.c
af040 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:
af060 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
af080 61 6e 3e 2c 20 6f 70 65 72 61 6e 64 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e an>,.operand:.T).T</span></code>
af0a0 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 </pre>.......<p><code><span.clas
af0c0 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 s="line">T</span></code>.must.be
af0e0 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 77 69 74 68 20 62 69 74 20 63 6f 75 6e 74 20 .an.integer.type.with.bit.count.
af100 65 76 65 6e 6c 79 20 64 69 76 69 73 69 62 6c 65 20 62 79 20 38 2e 3c 2f 70 3e 0a 20 20 20 20 20 evenly.divisible.by.8.</p>......
af120 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 6f 70 65 .<p><code><span.class="line">ope
af140 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 3c 61 20 rand</span></code>.may.be.an.<a.
af160 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 6f 72 20 href="#Integers">integer</a>.or.
af180 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 2e 3c 2f <a.href="#Vectors">vector</a>.</
af1a0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 77 61 70 73 20 74 68 65 20 62 79 74 p>.......<p>.......Swaps.the.byt
af1c0 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 2e 20 54 68 69 73 20 63 6f 6e e.order.of.the.integer..This.con
af1e0 76 65 72 74 73 20 61 20 62 69 67 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 verts.a.big.endian.integer.to.a.
af200 6c 69 74 74 6c 65 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 little.endian.integer,.......and
af220 20 63 6f 6e 76 65 72 74 73 20 61 20 6c 69 74 74 6c 65 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 .converts.a.little.endian.intege
af240 72 20 74 6f 20 61 20 62 69 67 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 r.to.a.big.endian.integer.......
af260 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 61 74 20 .</p>.......<p>.......Note.that.
af280 66 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 73 20 6f 66 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 for.the.purposes.of.memory.layou
af2a0 74 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 65 6e 64 69 61 6e 6e 65 73 73 2c 20 74 68 t.with.respect.to.endianness,.th
af2c0 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 72 e.integer.type.should.be.......r
af2e0 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 72 65 elated.to.the.number.of.bytes.re
af300 70 6f 72 74 65 64 20 62 79 20 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a ported.by.<a.href="#sizeOf">@siz
af320 65 4f 66 3c 2f 61 3e 20 62 79 74 65 73 2e 20 54 68 69 73 20 69 73 20 64 65 6d 6f 6e 73 74 72 61 eOf</a>.bytes..This.is.demonstra
af340 74 65 64 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 ted.with.......<code><span.class
af360 3d 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 75 ="line"><span.class="tok-type">u
af380 32 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 3c 63 6f 64 65 3e 3c 24</span></span></code>..<code><
af3a0 73 70 61 6e 20 63 6c 61 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
af3c0 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 6e ok-builtin">@sizeOf</span>(<span
af3e0 20 63 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 29 20 3d 3d .class="tok-type">u24</span>).==
af400 20 3c 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
af420 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 n></span></code>,.which.means.th
af440 61 74 20 61 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 at.a.......<code><span.class="li
af460 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 2f ne"><span.class="tok-type">u24</
af480 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 6f 72 65 64 20 69 6e 20 6d 65 span></span></code>.stored.in.me
af4a0 6d 6f 72 79 20 74 61 6b 65 73 20 34 20 62 79 74 65 73 2c 20 61 6e 64 20 74 68 6f 73 65 20 34 20 mory.takes.4.bytes,.and.those.4.
af4c0 62 79 74 65 73 20 61 72 65 20 77 68 61 74 20 61 72 65 20 73 77 61 70 70 65 64 20 6f 6e 0a 20 20 bytes.are.what.are.swapped.on...
af4e0 20 20 20 20 61 20 6c 69 74 74 6c 65 20 76 73 20 62 69 67 20 65 6e 64 69 61 6e 20 73 79 73 74 65 ....a.little.vs.big.endian.syste
af500 6d 2e 20 4f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 2c 20 69 66 20 3c 63 6f 64 65 3e 3c m..On.the.other.hand,.if.<code><
af520 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 65 span.class="line">T</span></code
af540 3e 20 69 73 20 73 70 65 63 69 66 69 65 64 20 74 6f 0a 20 20 20 20 20 20 62 65 20 3c 63 6f 64 65 >.is.specified.to.......be.<code
af560 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=
af580 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 6f "tok-type">u24</span></span></co
af5a0 64 65 3e 2c 20 74 68 65 6e 20 6f 6e 6c 79 20 33 20 62 79 74 65 73 20 61 72 65 20 72 65 76 65 72 de>,.then.only.3.bytes.are.rever
af5c0 73 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 3c 68 sed........</p>...............<h
af5e0 33 20 69 64 3d 22 62 69 74 52 65 76 65 72 73 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 3.id="bitReverse"><a.href="#toc-
af600 62 69 74 52 65 76 65 72 73 65 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 61 3e 20 3c 61 20 63 bitReverse">@bitReverse</a>.<a.c
af620 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 69 74 52 65 76 65 72 73 65 22 3e c2 a7 lass="hdr".href="#bitReverse">..
af640 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
af660 6e 20 63 6c 61 73 73 3d 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-
af680 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 builtin">@bitReverse</span>(<spa
af6a0 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>
af6c0 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<
af6e0 2f 73 70 61 6e 3e 2c 20 69 6e 74 65 67 65 72 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f /span>,.integer:.T).T</span></co
af700 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
af720 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 65 3e 20 61 63 63 65 lass="line">T</span></code>.acce
af740 70 74 73 20 61 6e 79 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 pts.any.integer.type.</p>.......
af760 3c 70 3e 0a 20 20 20 20 20 20 52 65 76 65 72 73 65 73 20 74 68 65 20 62 69 74 70 61 74 74 65 72 <p>.......Reverses.the.bitpatter
af780 6e 20 6f 66 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 2c 20 69 6e 63 6c 75 64 69 6e 67 n.of.an.integer.value,.including
af7a0 20 74 68 65 20 73 69 67 6e 20 62 69 74 20 69 66 20 61 70 70 6c 69 63 61 62 6c 65 2e 0a 20 20 20 .the.sign.bit.if.applicable.....
af7c0 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 78 61 6d ...</p>.......<p>.......For.exam
af7e0 70 6c 65 20 30 62 31 30 31 31 30 31 31 30 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ple.0b10110110.(<code><span.clas
af800 73 3d 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">
af820 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 6d u8</span>.=.<span.class="tok-num
af840 62 65 72 22 3e 31 38 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c ber">182</span></span></code>,.<
af860 63 6f 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
af880 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 2d 3c 73 70 61 ass="tok-type">i8</span>.=.-<spa
af8a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 34 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-number">74</span></
af8c0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 0a 20 20 20 20 20 20 62 65 63 6f 6d 65 73 20 30 62 30 31 span></code>).......becomes.0b01
af8e0 31 30 31 31 30 31 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 101101.(<code><span.class="line"
af900 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 38 3c 2f 73 70 61 6e ><span.class="tok-type">u8</span
af920 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 39 >.=.<span.class="tok-number">109
af940 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
af960 61 6e 20 63 6c 61 73 73 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
af980 2d 74 79 70 65 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 -type">i8</span>.=.<span.class="
af9a0 74 6f 6b 2d 6e 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 tok-number">109</span></span></c
af9c0 6f 64 65 3e 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 20 ode>)........</p>...............
af9e0 3c 68 33 20 69 64 3d 22 6f 66 66 73 65 74 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d <h3.id="offsetOf"><a.href="#toc-
afa00 6f 66 66 73 65 74 4f 66 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 offsetOf">@offsetOf</a>.<a.class
afa20 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6f 66 66 73 65 74 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f ="hdr".href="#offsetOf">..</a></
afa40 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
afa60 73 3d 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
afa80 6e 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d n">@offsetOf</span>(<span.class=
afaa0 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
afac0 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>,.
afae0 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
afb00 70 61 6e 3e 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>.field_name:.[]<span.class="
afb20 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
afb40 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
afb60 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 6e ss="tok-type">comptime_int</span
afb80 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 0a ></span></code></pre>.......<p>.
afba0 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 62 79 74 65 20 6f 66 66 73 65 74 20 6f 66 ......Returns.the.byte.offset.of
afbc0 20 61 20 66 69 65 6c 64 20 72 65 6c 61 74 69 76 65 20 74 6f 20 69 74 73 20 63 6f 6e 74 61 69 6e .a.field.relative.to.its.contain
afbe0 69 6e 67 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e ing.struct........</p>.......<p>
afc00 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="#
afc20 62 69 74 4f 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 3c 2f 6c bitOffsetOf">@bitOffsetOf</a></l
afc40 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="
afc60 63 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 61 6c 6c 22 3e 40 63 61 6c 6c 3c call"><a.href="#toc-call">@call<
afc80 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 61 6c 6c 22 3e /a>.<a.class="hdr".href="#call">
afca0 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
afcc0 70 61 6e 20 63 6c 61 73 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
afce0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e 3e 28 6f 70 74 69 6f 6e 73 3a k-builtin">@call</span>(options:
afd00 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 61 6c 6c 4f 70 74 69 6f 6e 73 2c 20 66 75 6e 63 74 69 .std.builtin.CallOptions,.functi
afd20 6f 6e 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 on:.<span.class="tok-kw">anytype
afd40 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>,.args:.<span.class="tok-
afd60 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=
afd80 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></
afda0 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 61 6c 6c code></pre>.......<p>.......Call
afdc0 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 s.a.function,.in.the.same.way.th
afde0 61 74 20 69 6e 76 6f 6b 69 6e 67 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 74 68 20 70 at.invoking.an.expression.with.p
afe00 61 72 65 6e 74 68 65 73 65 73 20 64 6f 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 arentheses.does:.......</p>.....
afe20 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
afe40 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 6c 6c 2e 7a 69 -cap"><cite.class="file">call.zi
afe60 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>
afe80 3c 73 70 61 6e 20 63 6c 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="
afea0 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
afec0 70 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<
afee0 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
aff00 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
aff20 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"><
aff40 2f 73 70 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.
aff60 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
aff80 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 69 6e 6c 69 6e 65 20 .class="tok-str">&quot;noinline.
affa0 66 75 6e 63 74 69 6f 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 function.call&quot;</span>.{</sp
affc0 61 6e 3e 0a 3c 73 70 61 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
affe0 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
b0000 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 63 61 6c t(<span.class="tok-builtin">@cal
b0020 6c 3c 2f 73 70 61 6e 3e 28 2e 7b 7d 2c 20 61 64 64 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 l</span>(.{},.add,..{<span.class
b0040 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
b0060 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 7d 29 20 3d 3d 20 3c ass="tok-number">9</span>}).==.<
b0080 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e span.class="tok-number">12</span
b00a0 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">}<
b00c0 2f 73 70 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
b00e0 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
b0100 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=
b0120 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 "tok-fn">add</span>(a:.<span.cla
b0140 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
b0160 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>).
b0180 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
b01a0 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">..
b01c0 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
b01e0 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 73 73 3d 22 pan>.a.+.b;</span>.<span.class="
b0200 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
b0220 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
b0240 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
b0260 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
b0280 3e 7a 69 67 20 74 65 73 74 20 63 61 6c 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a >zig.test.call.zig</kbd></span>.
b02a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f <span.class="line">1/1.test.&quo
b02c0 74 3b 6e 6f 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 26 71 75 6f 74 3b 2e 2e t;noinline.function.call&quot;..
b02e0 2e 20 4f 4b 3c 2f 73 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 ..OK</span>.<span.class="line">A
b0300 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 ll.1.tests.passed.</span>.</samp
b0320 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>......
b0340 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.
b0360 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 3e class="tok-builtin">@call</span>
b0380 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6c 6c 6f 77 73 20 6d 6f 72 65 20 66 6c 65 78 69 </span></code>.allows.more.flexi
b03a0 62 69 6c 69 74 79 20 74 68 61 6e 20 6e 6f 72 6d 61 6c 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c bility.than.normal.function.call
b03c0 20 73 79 6e 74 61 78 20 64 6f 65 73 2e 20 54 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 .syntax.does..The.......<code><s
b03e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 61 6c 6c 4f 70 74 69 6f 6e 73 3c 2f 73 70 pan.class="line">CallOptions</sp
b0400 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 20 69 73 20 72 65 70 72 6f 64 75 63 65 64 20 an></code>.struct.is.reproduced.
b0420 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 69 67 75 72 65 3e 3c here:.......</p>.......<figure><
b0440 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
b0460 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 74 69 6e 2e 43 61 6c 6c 4f 70 74 69 6f 6e .class="file">builtin.CallOption
b0480 73 20 73 74 72 75 63 74 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 s.struct</cite></figcaption><pre
b04a0 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.
b04c0 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.
b04e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 61 6c 6c class="tok-kw">const</span>.Call
b0500 4f 70 74 69 6f 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 73 Options.=.<span.class="tok-kw">s
b0520 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 61 73 truct</span>.{</span>.<span.clas
b0540 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6d 6f 64 69 66 69 65 72 3a 20 4d 6f 64 69 66 69 65 72 20 s="line">....modifier:.Modifier.
b0560 3d 20 2e 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 69 6e =..auto,</span>.<span.class="lin
b0580 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">..
b05a0 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">///.
b05c0 4f 6e 6c 79 20 76 61 6c 69 64 20 77 68 65 6e 20 60 4d 6f 64 69 66 69 65 72 60 20 69 73 20 60 4d Only.valid.when.`Modifier`.is.`M
b05e0 6f 64 69 66 69 65 72 2e 61 73 79 6e 63 5f 6b 77 60 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e odifier.async_kw`.</span></span>
b0600 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 61 63 6b 3a 20 3f .<span.class="line">....stack:.?
b0620 5b 5d 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 []<span.class="tok-kw">align</sp
b0640 61 6e 3e 28 73 74 64 2e 54 61 72 67 65 74 2e 73 74 61 63 6b 5f 61 6c 69 67 6e 29 20 3c 73 70 61 an>(std.Target.stack_align).<spa
b0660 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>.=.<
b0680 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
b06a0 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
b06c0 70 61 6e 3e 0a 3c 73 70 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
b06e0 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
b0700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4d 6f n.class="tok-kw">const</span>.Mo
b0720 64 69 66 69 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 65 6e difier.=.<span.class="tok-kw">en
b0740 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 73 3d 22 um</span>.{</span>.<span.class="
b0760 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
b0780 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 66 75 6e 63 74 69 omment">///.Equivalent.to.functi
b07a0 6f 6e 20 63 61 6c 6c 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 on.call.syntax.</span></span>.<s
b07c0 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 75 74 6f 2c 3c 2f pan.class="line">........auto,</
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 3c 2f 73 70 61 6e 3e span>.<span.class="line"></span>
b0800 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
b0820 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 76 61 n.class="tok-comment">///.Equiva
b0840 6c 65 6e 74 20 74 6f 20 61 73 79 6e 63 20 6b 65 79 77 6f 72 64 20 75 73 65 64 20 77 69 74 68 20 lent.to.async.keyword.used.with.
b0860 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 function.call.syntax.</span></sp
b0880 61 6e 3e 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 61 an>.<span.class="line">........a
b08a0 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 22 6c 69 6e sync_kw,</span>.<span.class="lin
b08c0 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">..
b08e0 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">
b0900 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
b0920 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
b0940 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="
b0960 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
b0980 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 70 6f 69 6e 74 20 74 omment">///.address.will.point.t
b09a0 6f 20 74 68 65 20 63 61 6c 6c 73 69 74 65 2c 20 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 74 68 o.the.callsite,.as.opposed.to.th
b09c0 65 20 63 61 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 e.callsite's</span></span>.<span
b09e0 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
b0a00 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 63 61 6c 6c 73 69 74 65 2e 20 49 66 s="tok-comment">///.callsite..If
b0a20 20 74 68 65 20 63 61 6c 6c 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 72 65 71 75 69 72 65 64 20 .the.call.is.otherwise.required.
b0a40 74 6f 20 62 65 20 74 61 69 6c 2d 63 61 6c 6c 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a to.be.tail-called</span></span>.
b0a60 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
b0a80 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 6f 72 20 69 6e 6c 69 .class="tok-comment">///.or.inli
b0aa0 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 64 20 ned,.a.compile.error.is.emitted.
b0ac0 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 6c 61 instead.</span></span>.<span.cla
b0ae0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 65 76 65 72 5f 74 61 69 6c 2c 3c 2f 73 ss="line">........never_tail,</s
b0b00 70 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>.
b0b20 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
b0b40 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 61 6e 74 .class="tok-comment">///.Guarant
b0b60 65 65 73 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 69 6e ees.that.the.call.will.not.be.in
b0b80 6c 69 6e 65 64 2e 20 49 66 20 74 68 65 20 63 61 6c 6c 20 69 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 lined..If.the.call.is</span></sp
b0ba0 61 6e 3e 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">........<
b0bc0 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 6f 74 68 span.class="tok-comment">///.oth
b0be0 65 72 77 69 73 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 65 20 69 6e 6c 69 6e 65 64 2c 20 61 erwise.required.to.be.inlined,.a
b0c00 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 .compile.error.is.emitted.instea
b0c20 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
b0c40 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 2c 3c 2f 73 70 61 6e 3e ne">........never_inline,</span>
b0c60 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
b0c80 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
b0ca0 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
b0cc0 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
b0ce0 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
b0d00 3e 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
b0d20 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 6e 6f 6e 2d 61 an.class="tok-comment">///.non-a
b0d40 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 63 61 6c 6c 20 61 6e 20 61 73 79 6e 63 20 66 sync.function.to.call.an.async.f
b0d60 75 6e 63 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 unction.</span></span>.<span.cla
b0d80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 6f 5f 61 73 79 6e 63 2c 3c 2f 73 70 61 ss="line">........no_async,</spa
b0da0 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
b0dc0 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
b0de0 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 61 6e 74 65 65 lass="tok-comment">///.Guarantee
b0e00 73 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 s.that.the.call.will.be.generate
b0e20 64 20 77 69 74 68 20 74 61 69 6c 20 63 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 3c 2f d.with.tail.call.optimization.</
b0e40 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">
b0e60 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
b0e80 22 3e 2f 2f 2f 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2c 20 61 ">///.If.this.is.not.possible,.a
b0ea0 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 .compile.error.is.emitted.instea
b0ec0 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
b0ee0 6e 65 22 3e 20 20 20 20 20 20 20 20 61 6c 77 61 79 73 5f 74 61 69 6c 2c 3c 2f 73 70 61 6e 3e 0a ne">........always_tail,</span>.
b0f00 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
b0f20 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
b0f40 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 47 75 61 72 61 6e 74 65 65 73 20 74 s="tok-comment">///.Guarantees.t
b0f60 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c 6c 20 69 6e 6c 69 6e 65 64 20 61 74 20 74 68 65 hat.the.call.will.inlined.at.the
b0f80 20 63 61 6c 6c 73 69 74 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .callsite.</span></span>.<span.c
b0fa0 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=
b0fc0 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 20 6e 6f 74 "tok-comment">///.If.this.is.not
b0fe0 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 73 20 65 6d .possible,.a.compile.error.is.em
b1000 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 0a 3c 73 70 itted.instead.</span></span>.<sp
b1020 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 6c 77 61 79 73 5f 69 an.class="line">........always_i
b1040 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"
b1060 3e 3c 2f 73 70 61 6e 3e 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">....
b1080 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">//
b10a0 2f 20 45 76 61 6c 75 61 74 65 73 20 74 68 65 20 63 61 6c 6c 20 61 74 20 63 6f 6d 70 69 6c 65 2d /.Evaluates.the.call.at.compile-
b10c0 74 69 6d 65 2e 20 49 66 20 74 68 65 20 63 61 6c 6c 20 63 61 6e 6e 6f 74 20 62 65 20 63 6f 6d 70 time..If.the.call.cannot.be.comp
b10e0 6c 65 74 65 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 leted.at</span></span>.<span.cla
b1100 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
b1120 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 61 20 ok-comment">///.compile-time,.a.
b1140 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 compile.error.is.emitted.instead
b1160 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
b1180 65 22 3e 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 74 69 6d 65 2c 3c 2f 73 70 61 6e 3e 0a e">........compile_time,</span>.
b11a0 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>
b11c0 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 3c 2f 63 .<span.class="line">};</span></c
b11e0 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 20 20 ode></pre></figure>.............
b1200 20 20 3c 68 33 20 69 64 3d 22 63 44 65 66 69 6e 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ..<h3.id="cDefine"><a.href="#toc
b1220 2d 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d -cDefine">@cDefine</a>.<a.class=
b1240 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 "hdr".href="#cDefine">..</a></h3
b1260 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=
b1280 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"
b12a0 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >@cDefine</span>(<span.class="to
b12c0 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 3a 20 5b 5d 3c 73 k-kw">comptime</span>.name:.[]<s
b12e0 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>,.
b1300 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 20 20 value)</span></code></pre>......
b1320 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 61 6e 20 6f 6e 6c .<p>.......This.function.can.onl
b1340 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 20 63 6c 61 73 73 y.occur.inside.<code><span.class
b1360 3d 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
b1380 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 2e ">@cImport</span></span></code>.
b13a0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 .......</p>.......<p>.......This
b13c0 20 61 70 70 65 6e 64 73 20 3c 63 6f 64 65 3e 23 64 65 66 69 6e 65 20 24 6e 61 6d 65 20 24 76 61 .appends.<code>#define.$name.$va
b13e0 6c 75 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 20 63 6c lue</code>.to.the.<code><span.cl
b1400 61 73 73 3d 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
b1420 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 64 tin">@cImport</span></span></cod
b1440 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 20 20 20 e>.......temporary.buffer.......
b1460 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 64 65 66 69 6e 65 20 .</p>.......<p>.......To.define.
b1480 77 69 74 68 6f 75 74 20 61 20 76 61 6c 75 65 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 without.a.value,.like.this:.....
b14a0 20 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 63 ..</p>.......<pre><code.class="c
b14c0 22 3e 23 64 65 66 69 6e 65 20 5f 47 4e 55 5f 53 4f 55 52 43 45 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ">#define._GNU_SOURCE</code></pr
b14e0 65 3e 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 76 6f 69 64 20 e>.......<p>.......Use.the.void.
b1500 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 20 20 value,.like.this:.......</p>....
b1520 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"
b1540 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
b1560 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 2d 73 74 72 22 ine</span>(<span.class="tok-str"
b1580 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 2c >&quot;_GNU_SOURCE&quot;</span>,
b15a0 20 7b 7d 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 .{})</span></code></pre>.......<
b15c0 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=
b15e0 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 "#Import-from-C-Header-File">Imp
b1600 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a ort.from.C.Header.File</a></li>.
b1620 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
b1640 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
b1660 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d ">@cImport</a></li>.<li><a.href=
b1680 22 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c "#cUndef">@cUndef</a></li>.<li><
b16a0 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 a.href="#void">void</a></li>.</u
b16c0 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 49 6d 70 6f 72 74 l>...............<h3.id="cImport
b16e0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 "><a.href="#toc-cImport">@cImpor
b1700 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 49 6d 70 t</a>.<a.class="hdr".href="#cImp
b1720 6f 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f ort">..</a></h3>........<pre><co
b1740 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
b1760 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 6e 3e 28 s="tok-builtin">@cImport</span>(
b1780 65 78 70 72 65 73 73 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 expression).<span.class="tok-typ
b17a0 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 70 72 e">type</span></span></code></pr
b17c0 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
b17e0 20 70 61 72 73 65 73 20 43 20 63 6f 64 65 20 61 6e 64 20 69 6d 70 6f 72 74 73 20 74 68 65 20 66 .parses.C.code.and.imports.the.f
b1800 75 6e 63 74 69 6f 6e 73 2c 20 74 79 70 65 73 2c 20 76 61 72 69 61 62 6c 65 73 2c 0a 20 20 20 20 unctions,.types,.variables,.....
b1820 20 20 61 6e 64 20 63 6f 6d 70 61 74 69 62 6c 65 20 6d 61 63 72 6f 20 64 65 66 69 6e 69 74 69 6f ..and.compatible.macro.definitio
b1840 6e 73 20 69 6e 74 6f 20 61 20 6e 65 77 20 65 6d 70 74 79 20 73 74 72 75 63 74 20 74 79 70 65 2c ns.into.a.new.empty.struct.type,
b1860 20 61 6e 64 20 74 68 65 6e 0a 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 74 68 61 74 20 74 79 70 .and.then.......returns.that.typ
b1880 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 e........</p>.......<p>.......<c
b18a0 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 70 72 65 73 73 69 6f ode><span.class="line">expressio
b18c0 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 n</span></code>.is.interpreted.a
b18e0 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 20 54 68 65 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 t.compile.time..The.builtin.func
b1900 74 69 6f 6e 73 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 73 tions...........<code><span.clas
b1920 73 3d 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
b1940 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 2f 63 6f 64 65 n">@cInclude</span></span></code
b1960 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 73 70 61 >,.<code><span.class="line"><spa
b1980 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f n.class="tok-builtin">@cDefine</
b19a0 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 6f 64 65 3e 3c span></span></code>,.and.<code><
b19c0 73 70 61 6e 20 63 6c 61 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
b19e0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ok-builtin">@cUndef</span></span
b1a00 3e 3c 2f 63 6f 64 65 3e 20 77 6f 72 6b 0a 20 20 20 20 20 20 77 69 74 68 69 6e 20 74 68 69 73 20 ></code>.work.......within.this.
b1a20 65 78 70 72 65 73 73 69 6f 6e 2c 20 61 70 70 65 6e 64 69 6e 67 20 74 6f 20 61 20 74 65 6d 70 6f expression,.appending.to.a.tempo
b1a40 72 61 72 79 20 62 75 66 66 65 72 20 77 68 69 63 68 20 69 73 20 74 68 65 6e 20 70 61 72 73 65 64 rary.buffer.which.is.then.parsed
b1a60 20 61 73 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e .as.C.code........</p>.......<p>
b1a80 0a 20 20 20 20 20 20 55 73 75 61 6c 6c 79 20 79 6f 75 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 68 .......Usually.you.should.only.h
b1aa0 61 76 65 20 6f 6e 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ave.one.<code><span.class="line"
b1ac0 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 6d 70 ><span.class="tok-builtin">@cImp
b1ae0 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 69 6e 20 79 6f 75 72 ort</span></span></code>.in.your
b1b00 20 65 6e 74 69 72 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 62 65 63 61 75 73 65 20 69 74 20 .entire.application,.because.it.
b1b20 73 61 76 65 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 66 72 6f 6d 20 69 6e saves.the.compiler.......from.in
b1b40 76 6f 6b 69 6e 67 20 63 6c 61 6e 67 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 2c 20 61 6e 64 voking.clang.multiple.times,.and
b1b60 20 70 72 65 76 65 6e 74 73 20 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 73 20 66 72 6f 6d 20 .prevents.inline.functions.from.
b1b80 62 65 69 6e 67 20 64 75 70 6c 69 63 61 74 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 being.duplicated........</p>....
b1ba0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 61 73 6f 6e 73 20 66 6f 72 20 68 61 76 69 6e 67 20 ...<p>.......Reasons.for.having.
b1bc0 6d 75 6c 74 69 70 6c 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 multiple.<code><span.class="line
b1be0 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 6d "><span.class="tok-builtin">@cIm
b1c00 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 65 78 70 72 65 73 port</span></span></code>.expres
b1c20 73 69 6f 6e 73 20 77 6f 75 6c 64 20 62 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 sions.would.be:.......</p>......
b1c40 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 6f 20 61 76 6f 69 64 20 61 20 73 .<ul>...........<li>To.avoid.a.s
b1c60 79 6d 62 6f 6c 20 63 6f 6c 6c 69 73 69 6f 6e 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 69 66 20 ymbol.collision,.for.example.if.
b1c80 66 6f 6f 2e 68 20 61 6e 64 20 62 61 72 2e 68 20 62 6f 74 68 20 3c 63 6f 64 65 3e 23 64 65 66 69 foo.h.and.bar.h.both.<code>#defi
b1ca0 6e 65 20 43 4f 4e 4e 45 43 54 49 4f 4e 5f 43 4f 55 4e 54 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a ne.CONNECTION_COUNT</code></li>.
b1cc0 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 6f 20 61 6e 61 6c 79 7a 65 20 74 68 65 20 43 20 63 6f 64 ........<li>To.analyze.the.C.cod
b1ce0 65 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65 e.with.different.preprocessor.de
b1d00 66 69 6e 65 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 70 3e fines</li>.......</ul>.......<p>
b1d20 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="#
b1d40 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 Import-from-C-Header-File">Impor
b1d60 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c t.from.C.Header.File</a></li>.<l
b1d80 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 3c i><a.href="#cInclude">@cInclude<
b1da0 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 3e /a></li>.<li><a.href="#cDefine">
b1dc0 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 23 @cDefine</a></li>.<li><a.href="#
b1de0 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 2f 75 6c 3e 0a 0a cUndef">@cUndef</a></li>.</ul>..
b1e00 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 49 6e 63 6c 75 64 65 22 3e 3c .............<h3.id="cInclude"><
b1e20 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 a.href="#toc-cInclude">@cInclude
b1e40 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 49 6e 63 6c </a>.<a.class="hdr".href="#cIncl
b1e60 75 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 3c 63 6f ude">..</a></h3>........<pre><co
b1e80 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
b1ea0 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>
b1ec0 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</
b1ee0 73 70 61 6e 3e 20 70 61 74 68 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 span>.path:.[]<span.class="tok-t
b1f00 79 70 65 22 3e 75 38 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 ype">u8</span>)</span></code></p
b1f20 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
b1f40 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 3c 73 n.can.only.occur.inside.<code><s
b1f60 70 61 6e 20 63 6c 61 73 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
b1f80 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 61 6e k-builtin">@cImport</span></span
b1fa0 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 20 ></code>........</p>.......<p>..
b1fc0 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 69 6e 63 6c 75 64 65 .....This.appends.<code>#include
b1fe0 20 26 6c 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 .&lt;$path&gt;\n</code>.to.the.<
b2000 63 6f 64 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 code><span.class="line">c_import
b2020 3c 2f 73 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 </span></code>.......temporary.b
b2040 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 uffer........</p>.......<p>See.a
b2060 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 lso:</p><ul>.<li><a.href="#Impor
b2080 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f t-from-C-Header-File">Import.fro
b20a0 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 m.C.Header.File</a></li>.<li><a.
b20c0 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 href="#cImport">@cImport</a></li
b20e0 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e >.<li><a.href="#cDefine">@cDefin
b2100 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 22 e</a></li>.<li><a.href="#cUndef"
b2120 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a >@cUndef</a></li>.</ul>.........
b2140 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6c 7a 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f .......<h3.id="clz"><a.href="#to
b2160 63 2d 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 c-clz">@clz</a>.<a.class="hdr".h
b2180 72 65 66 3d 22 23 63 6c 7a 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 ref="#clz">..</a></h3>........<p
b21a0 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
b21c0 6e 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 n.class="tok-builtin">@clz</span
b21e0 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<
b2200 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"
b2220 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 6f 70 65 72 61 6e 64 3a 20 54 29 3c 2f 73 70 61 6e 3e >type</span>,.operand:.T)</span>
b2240 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
b2260 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 65 3e 20 an.class="line">T</span></code>.
b2280 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 70 3e 0a 20 20 20 must.be.an.integer.type.</p>....
b22a0 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 6f ...<p><code><span.class="line">o
b22c0 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 3c perand</span></code>.may.be.an.<
b22e0 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 6f a.href="#Integers">integer</a>.o
b2300 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 2e r.<a.href="#Vectors">vector</a>.
b2320 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
b2340 6f 6e 20 63 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6d 6f 73 74 2d 73 69 67 on.counts.the.number.of.most-sig
b2360 6e 69 66 69 63 61 6e 74 20 28 6c 65 61 64 69 6e 67 20 69 6e 20 61 20 62 69 67 2d 45 6e 64 69 61 nificant.(leading.in.a.big-Endia
b2380 6e 20 73 65 6e 73 65 29 20 7a 65 72 6f 65 73 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 n.sense).zeroes.in.an.integer...
b23a0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f .....</p>.......<p>.......If.<co
b23c0 64 65 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 de><span.class="line">operand</s
b23e0 70 61 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 pan></code>.is.a.<a.href="#compt
b2400 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 69 6e 74 65 67 65 72 2c ime">comptime</a>-known.integer,
b2420 0a 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e .......the.return.type.is.<code>
b2440 3c 73 70 61 6e 20 63 6c 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="
b2460 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 73 tok-type">comptime_int</span></s
b2480 70 61 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 pan></code>........Otherwise,.th
b24a0 65 20 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 e.return.type.is.an.unsigned.int
b24c0 65 67 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 eger.or.vector.of.unsigned.integ
b24e0 65 72 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 ers.with.the.minimum.number.....
b2500 20 20 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 ..of.bits.that.can.represent.the
b2520 20 62 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 .bit.count.of.the.integer.type..
b2540 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 ......</p>.......<p>.......If.<c
b2560 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 65 72 61 6e 64 3c 2f ode><span.class="line">operand</
b2580 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 7a 65 72 6f 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 span></code>.is.zero,.<code><spa
b25a0 6e 20 63 6c 61 73 73 3d 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-
b25c0 62 75 69 6c 74 69 6e 22 3e 40 63 6c 7a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 builtin">@clz</span></span></cod
b25e0 65 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 62 69 74 20 77 69 64 74 68 0a 20 20 20 20 20 20 6f e>.returns.the.bit.width.......o
b2600 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 f.integer.type.<code><span.class
b2620 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c ="line">T</span></code>........<
b2640 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>.<
b2660 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a li><a.href="#ctz">@ctz</a></li>.
b2680 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e <li><a.href="#popCount">@popCoun
b26a0 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>................
b26c0 3c 68 33 20 69 64 3d 22 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 <h3.id="cmpxchgStrong"><a.href="
b26e0 23 74 6f 63 2d 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f #toc-cmpxchgStrong">@cmpxchgStro
b2700 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6d 70 ng</a>.<a.class="hdr".href="#cmp
b2720 78 63 68 67 53 74 72 6f 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c xchgStrong">..</a></h3>........<
b2740 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
b2760 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 6d 70 78 63 68 67 53 an.class="tok-builtin">@cmpxchgS
b2780 74 72 6f 6e 67 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 trong</span>(<span.class="tok-kw
b27a0 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
b27c0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 ="tok-type">type</span>,.ptr:.*T
b27e0 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 65 3a 20 ,.expected_value:.T,.new_value:.
b2800 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 65 72 2c 20 66 T,.success_order:.AtomicOrder,.f
b2820 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 2f 73 70 61 6e ail_order:.AtomicOrder).?T</span
b2840 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 ></code></pre>.......<p>.......T
b2860 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 61 20 73 74 72 6f 6e 67 20 61 his.function.performs.a.strong.a
b2880 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 69 6f 6e tomic.compare.exchange.operation
b28a0 2e 20 49 74 27 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 74 68 69 73 20 63 6f ..It's.the.equivalent.of.this.co
b28c0 64 65 2c 0a 20 20 20 20 20 20 65 78 63 65 70 74 20 61 74 6f 6d 69 63 3a 0a 20 20 20 20 20 20 3c de,.......except.atomic:.......<
b28e0 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
b2900 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"
b2920 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 >test.zig</cite></figcaption><pr
b2940 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
b2960 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.
b2980 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
b29a0 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
b29c0 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
b29e0 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:
b2a00 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
b2a20 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
b2a40 69 6e 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
b2a60 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
b2a80 70 61 6e 3e 0a 3c 73 70 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
b2aa0 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_
b2ac0 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
b2ae0 3e 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
b2b00 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
b2b20 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
b2b40 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
b2b60 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>.
b2b80 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
b2ba0 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
b2bc0 6e 3e 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
b2be0 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>
b2c00 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="
b2c20 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="
b2c40 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
b2c60 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.
b2c80 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
b2ca0 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>
b2cc0 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
b2ce0 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.
b2d00 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
b2d20 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>.......
b2d40 3c 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
b2d60 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
b2d80 6f 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
b2da0 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>
b2dc0 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
b2de0 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>.......
b2e00 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
b2e20 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<
b2e40 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"
b2e60 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
b2e80 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
b2ea0 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
b2ec0 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</
b2ee0 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>.....
b2f00 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
b2f20 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</
b2f40 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
b2f60 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
b2f80 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></
b2fa0 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<
b2fc0 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
b2fe0 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>.
b3000 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
b3020 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">@
b3040 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
b3060 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>..
b3080 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
b30a0 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
b30c0 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
b30e0 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.
b3100 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
b3120 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
b3140 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
b3160 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<
b3180 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>...
b31a0 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
b31c0 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
b31e0 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
b3200 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:.....
b3220 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
b3240 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
b3260 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
b3280 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.
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 6b 77 class="line"><span.class="tok-kw
b32c0 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"
b32e0 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>(
b3300 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
b3320 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
b3340 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
b3360 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
b3380 3e 0a 3c 73 70 61 6e 20 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
b33a0 6c 61 73 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
b33c0 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
b33e0 3d 22 6c 69 6e 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"
b3400 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
b3420 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
b3440 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
b3460 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
b3480 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;</
b34a0 73 70 61 6e 3e 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">.......
b34c0 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
b34e0 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<
b3500 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
b3520 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
b3540 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
b3560 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
b3580 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
b35a0 3e 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
b35c0 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
b35e0 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>...
b3600 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.
b3620 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
b3640 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
b3660 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>
b3680 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
b36a0 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
b36c0 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
b36e0 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
b3700 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.
b3720 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
b3740 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
b3760 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"
b3780 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
b37a0 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"><
b37c0 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
b37e0 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,.......
b3800 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
b3820 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
b3840 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
b3860 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-
b3880 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
b38a0 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
b38c0 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">&
b38e0 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">@
b3900 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><
b3920 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>.<
b3940 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
b3960 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
b3980 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>.<
b39a0 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
b39c0 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"
b39e0 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
b3a00 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>
b3a20 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
b3a40 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
b3a60 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>.<
b3a80 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
b3aa0 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
b3ac0 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=
b3ae0 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
b3b00 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
b3b20 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-
b3b40 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f type">u8</span>)</span></code></
b3b60 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 pre>.......<p>.......This.functi
b3b80 6f 6e 2c 20 77 68 65 6e 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 61 6e 61 6c 79 7a 65 64 2c 20 on,.when.semantically.analyzed,.
b3ba0 63 61 75 73 65 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 77 69 74 68 20 74 68 65 0a causes.a.compile.error.with.the.
b3bc0 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ......message.<code><span.class=
b3be0 22 6c 69 6e 65 22 3e 6d 73 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 "line">msg</span></code>........
b3c00 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 73 </p>.......<p>.......There.are.s
b3c20 65 76 65 72 61 6c 20 77 61 79 73 20 74 68 61 74 20 63 6f 64 65 20 61 76 6f 69 64 73 20 62 65 69 everal.ways.that.code.avoids.bei
b3c40 6e 67 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 63 68 65 63 6b 65 64 2c 20 73 75 63 68 20 61 73 ng.semantically.checked,.such.as
b3c60 0a 20 20 20 20 20 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .......using.<code><span.class="
b3c80 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 line"><span.class="tok-kw">if</s
b3ca0 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 3e 3c 73 70 61 pan></span></code>.or.<code><spa
b3cc0 6e 20 63 6c 61 73 73 3d 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-
b3ce0 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 6f 64 65 3e 20 kw">switch</span></span></code>.
b3d00 77 69 74 68 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 73 2c 0a 20 20 20 with.compile.time.constants,....
b3d20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ...........and.<code><span.class
b3d40 3d 22 6c 69 6e 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
b3d60 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 66 75 6e 63 74 ptime</span></span></code>.funct
b3d80 69 6f 6e 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 ions........</p>...............<
b3da0 68 33 20 69 64 3d 22 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 h3.id="compileLog"><a.href="#toc
b3dc0 2d 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 61 3e 20 3c 61 20 -compileLog">@compileLog</a>.<a.
b3de0 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 4c 6f 67 22 3e c2 class="hdr".href="#compileLog">.
b3e00 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
b3e20 61 6e 20 63 6c 61 73 73 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
b3e40 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 28 61 72 67 -builtin">@compileLog</span>(arg
b3e60 73 3a 20 2e 2e 2e 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 s:....)</span></code></pre>.....
b3e80 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 70 72 69 6e 74 73 ..<p>.......This.function.prints
b3ea0 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 6f 20 69 74 20 61 74 20 63 .the.arguments.passed.to.it.at.c
b3ec0 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 ompile-time........</p>.......<p
b3ee0 3e 0a 20 20 20 20 20 20 54 6f 20 70 72 65 76 65 6e 74 20 61 63 63 69 64 65 6e 74 61 6c 6c 79 20 >.......To.prevent.accidentally.
b3f00 6c 65 61 76 69 6e 67 20 63 6f 6d 70 69 6c 65 20 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 73 20 69 leaving.compile.log.statements.i
b3f20 6e 20 61 20 63 6f 64 65 62 61 73 65 2c 0a 20 20 20 20 20 20 61 20 63 6f 6d 70 69 6c 61 74 69 6f n.a.codebase,.......a.compilatio
b3f40 6e 20 65 72 72 6f 72 20 69 73 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 62 75 69 6c 64 2c 20 70 n.error.is.added.to.the.build,.p
b3f60 6f 69 6e 74 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 0a 20 20 20 20 20 20 6c 6f 67 ointing.to.the.compile.......log
b3f80 20 73 74 61 74 65 6d 65 6e 74 2e 20 54 68 69 73 20 65 72 72 6f 72 20 70 72 65 76 65 6e 74 73 20 .statement..This.error.prevents.
b3fa0 63 6f 64 65 20 66 72 6f 6d 20 62 65 69 6e 67 20 67 65 6e 65 72 61 74 65 64 2c 20 62 75 74 0a 20 code.from.being.generated,.but..
b3fc0 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 6f 74 68 65 72 77 69 73 65 20 69 6e 74 65 72 66 65 72 .....does.not.otherwise.interfer
b3fe0 65 20 77 69 74 68 20 61 6e 61 6c 79 73 69 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 e.with.analysis........</p>.....
b4000 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 61 6e 20 62 65 ..<p>.......This.function.can.be
b4020 20 75 73 65 64 20 74 6f 20 64 6f 20 22 70 72 69 6e 74 66 20 64 65 62 75 67 67 69 6e 67 22 20 6f .used.to.do."printf.debugging".o
b4040 6e 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 65 78 65 63 75 74 69 6e 67 20 63 n.......compile-time.executing.c
b4060 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 66 ode........</p>.......<figure><f
b4080 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.
b40a0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 class="file">test.zig</cite></fi
b40c0 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=
b40e0 22 6c 69 6e 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
b4100 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f t</span>.print.=.<span.class="to
b4120 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.
b4140 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;<
b4160 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 70 61 /span>).debug.print;</span>.<spa
b4180 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
b41a0 73 73 3d 22 6c 69 6e 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
b41c0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 31 20 3d 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e onst</span>.num1.=.blk:.{</span>
b41e0 0a 3c 73 70 61 6e 20 63 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
b4200 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 31 3a 20 3c 73 ass="tok-kw">var</span>.val1:.<s
b4220 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>.
b4240 3d 20 3c 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 =.<span.class="tok-number">99</s
b4260 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">
b4280 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
b42a0 6f 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 ompileLog</span>(<span.class="to
b42c0 6b 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 k-str">&quot;comptime.val1.=.&qu
b42e0 6f 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 ot;</span>,.val1);</span>.<span.
b4300 63 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 class="line">....val1.=.val1.+.<
b4320 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>
b4340 3b 3c 2f 73 70 61 6e 3e 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">....
b4360 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 6e <span.class="tok-kw">break</span
b4380 3e 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 >.:blk.val1;</span>.<span.class=
b43a0 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 69 "line">};</span>.<span.class="li
b43c0 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"><
b43e0 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>.
b4400 3c 73 70 61 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 <span.class="tok-str">&quot;main
b4420 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
b4440 73 73 3d 22 6c 69 6e 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
b4460 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e uiltin">@compileLog</span>(<span
b4480 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.
b44a0 69 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 in.main&quot;</span>);</span>.<s
b44c0 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
b44e0 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 6c 61 73 lass="line">....print(<span.clas
b4500 73 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 s="tok-str">&quot;Runtime.in.mai
b4520 6e 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 n,.num1.=.{}.\n&quot;</span>,..{
b4540 6e 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 num1});</span>.<span.class="line
b4560 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>
b4580 3c 66 69 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
b45a0 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
b45c0 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 mp><span.class="line">$.<kbd>zig
b45e0 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .test.test.zig</kbd></span>.<spa
b4600 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7c 20 2a 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 n.class="line">|.*&quot;comptime
b4620 20 69 6e 20 6d 61 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .in.main&quot;</span>.<span.clas
b4640 73 3d 22 6c 69 6e 65 22 3e 7c 20 2a 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 6c 31 20 s="line">|.*&quot;comptime.val1.
b4660 3d 20 26 71 75 6f 74 3b 2c 20 39 39 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d =.&quot;,.99</span>.<span.class=
b4680 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 "line"><span.class="t0_1">./docg
b46a0 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 31 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 en_tmp/test.zig:11:5:.</span><sp
b46c0 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c an.class="t31_1">error:.</span><
b46e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 66 6f 75 6e 64 20 63 6f 6d 70 69 6c 65 20 span.class="t0_1">found.compile.
b4700 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 log.statement</span></span>.<spa
b4720 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 6f 6d 70 69 6c 65 4c 6f 67 28 26 n.class="line">....@compileLog(&
b4740 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 3b 3c 2f 73 quot;comptime.in.main&quot;);</s
b4760 70 61 6e 3e 0a 3c 73 70 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
b4780 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
b47a0 3c 73 70 61 6e 20 63 6c 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="
b47c0 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 35 3a t0_1">./docgen_tmp/test.zig:5:5:
b47e0 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f .</span><span.class="t31_1">erro
b4800 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 66 6f 75 r:.</span><span.class="t0_1">fou
b4820 6e 64 20 63 6f 6d 70 69 6c 65 20 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c nd.compile.log.statement</span><
b4840 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 /span>.<span.class="line">....@c
b4860 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.=.
b4880 26 71 75 6f 74 3b 2c 20 76 61 6c 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 &quot;,.val1);</span>.<span.clas
b48a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 s="line">....<span.class="t32_1"
b48c0 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f >^</span></span>.</samp></pre></
b48e0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 77 69 6c 6c 20 6f 75 74 figure>.......<p>.......will.out
b4900 70 75 74 3a 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 put:.......</p>.......<p>.......
b4920 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 6c 69 6e 65 22 3e If.all.<code><span.class="line">
b4940 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 <span.class="tok-builtin">@compi
b4960 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 20 63 61 6c 6c 73 leLog</span></span></code>.calls
b4980 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 65 6e 63 6f 75 6e .are.removed.or.......not.encoun
b49a0 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 20 20 20 70 72 6f tered.by.analysis,.the.......pro
b49c0 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 20 61 6e 64 20 74 gram.compiles.successfully.and.t
b49e0 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 69 6e 74 73 3a 0a he.generated.executable.prints:.
b4a00 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
b4a20 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
b4a40 3d 22 66 69 6c 65 22 3e 77 69 74 68 6f 75 74 5f 63 6f 6d 70 69 6c 65 4c 6f 67 2e 7a 69 67 3c 2f ="file">without_compileLog.zig</
b4a60 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
b4a80 61 6e 20 63 6c 61 73 73 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
b4aa0 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 20 -kw">const</span>.print.=.<span.
b4ac0 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
b4ae0 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
b4b00 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 73 td&quot;</span>).debug.print;</s
b4b20 70 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>.
b4b40 3c 73 70 61 6e 20 63 6c 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="
b4b60 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 31 20 3d 20 62 6c 6b 3a tok-kw">const</span>.num1.=.blk:
b4b80 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">...
b4ba0 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>
b4bc0 20 76 61 6c 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 .val1:.<span.class="tok-type">i3
b4be0 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
b4c00 65 72 22 3e 39 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 er">99</span>;</span>.<span.clas
b4c20 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 70 61 6e s="line">....val1.=.val1.+.<span
b4c40 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
b4c60 70 61 6e 3e 0a 3c 73 70 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
b4c80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 n.class="tok-kw">break</span>.:b
b4ca0 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 6c 69 6e lk.val1;</span>.<span.class="lin
b4cc0 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">
b4ce0 3c 2f 73 70 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
b4d00 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
b4d20 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 71 75 6f n.class="tok-str">&quot;main&quo
b4d40 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="
b4d60 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 6b line">....print(<span.class="tok
b4d80 2d 73 74 72 22 3e 26 71 75 6f 74 3b 52 75 6e 74 69 6d 65 20 69 6e 20 6d 61 69 6e 2c 20 6e 75 6d -str">&quot;Runtime.in.main,.num
b4da0 31 20 3d 20 7b 7d 2e 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 31 7d 29 1.=.{}.\n&quot;</span>,..{num1})
b4dc0 3b 3c 2f 73 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
b4de0 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
b4e00 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">
b4e20 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 3c 73 70 Shell</figcaption><pre><samp><sp
b4e40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 an.class="line">$.<kbd>zig.test.
b4e60 77 69 74 68 6f 75 74 5f 63 6f 6d 70 69 6c 65 4c 6f 67 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 without_compileLog.zig</kbd></sp
b4e80 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 an>.<span.class="line">1/1.test.
b4ea0 26 71 75 6f 74 3b 6d 61 69 6e 26 71 75 6f 74 3b 2e 2e 2e 20 52 75 6e 74 69 6d 65 20 69 6e 20 6d &quot;main&quot;....Runtime.in.m
b4ec0 61 69 6e 2c 20 6e 75 6d 31 20 3d 20 31 30 30 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ain,.num1.=.100.</span>.<span.cl
b4ee0 61 73 73 3d 22 6c 69 6e 65 22 3e 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ass="line">OK</span>.<span.class
b4f00 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 ="line">All.1.tests.passed.</spa
b4f20 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>.......
b4f40 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 74 ........<h3.id="ctz"><a.href="#t
b4f60 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 20 oc-ctz">@ctz</a>.<a.class="hdr".
b4f80 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 3c href="#ctz">..</a></h3>........<
b4fa0 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
b4fc0 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 61 an.class="tok-builtin">@ctz</spa
b4fe0 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
b5000 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
b5020 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 6f 70 65 72 61 6e 64 3a 20 54 29 3c 2f 73 70 61 6e ">type</span>,.operand:.T)</span
b5040 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 ></code></pre>.......<p><code><s
b5060 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 65 3e pan.class="line">T</span></code>
b5080 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 70 3e 0a 20 20 .must.be.an.integer.type.</p>...
b50a0 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">
b50c0 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.
b50e0 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>.
b5100 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>
b5120 2e 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 .</p>.......<p>.......This.funct
b5140 69 6f 6e 20 63 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c 65 61 73 74 2d 73 ion.counts.the.number.of.least-s
b5160 69 67 6e 69 66 69 63 61 6e 74 20 28 74 72 61 69 6c 69 6e 67 20 69 6e 20 61 20 62 69 67 2d 45 6e ignificant.(trailing.in.a.big-En
b5180 64 69 61 6e 20 73 65 6e 73 65 29 20 7a 65 72 6f 65 73 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 dian.sense).zeroes.in.an.integer
b51a0 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.
b51c0 3c 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 65 72 61 6e 64 <code><span.class="line">operand
b51e0 3c 2f 73 70 61 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 </span></code>.is.a.<a.href="#co
b5200 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 69 6e 74 65 67 mptime">comptime</a>-known.integ
b5220 65 72 2c 0a 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 3c 63 6f er,.......the.return.type.is.<co
b5240 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
b5260 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e s="tok-type">comptime_int</span>
b5280 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c </span></code>........Otherwise,
b52a0 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 .the.return.type.is.an.unsigned.
b52c0 69 6e 74 65 67 65 72 20 6f 72 20 76 65 63 74 6f 72 20 6f 66 20 75 6e 73 69 67 6e 65 64 20 69 6e integer.or.vector.of.unsigned.in
b52e0 74 65 67 65 72 73 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 6e 75 6d 62 65 72 0a 20 tegers.with.the.minimum.number..
b5300 20 20 20 20 20 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 .....of.bits.that.can.represent.
b5320 74 68 65 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 the.bit.count.of.the.integer.typ
b5340 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 e........</p>.......<p>.......If
b5360 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 65 72 61 6e .<code><span.class="line">operan
b5380 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 7a 65 72 6f 2c 20 3c 63 6f 64 65 3e 3c d</span></code>.is.zero,.<code><
b53a0 73 70 61 6e 20 63 6c 61 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
b53c0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 74 7a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f ok-builtin">@ctz</span></span></
b53e0 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 74 68 65 20 62 69 74 20 77 69 64 74 code>.returns.......the.bit.widt
b5400 68 20 6f 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c h.of.integer.type.<code><span.cl
b5420 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 ass="line">T</span></code>......
b5440 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
b5460 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 3c 2f 6c >.<li><a.href="#clz">@clz</a></l
b5480 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 i>.<li><a.href="#popCount">@popC
b54a0 6f 75 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 ount</a></li>.</ul>.............
b54c0 20 20 20 3c 68 33 20 69 64 3d 22 63 55 6e 64 65 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ...<h3.id="cUndef"><a.href="#toc
b54e0 2d 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 -cUndef">@cUndef</a>.<a.class="h
b5500 64 72 22 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a dr".href="#cUndef">..</a></h3>..
b5520 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
b5540 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
b5560 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 Undef</span>(<span.class="tok-kw
b5580 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 ">comptime</span>.name:.[]<span.
b55a0 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 3c 2f 73 70 61 class="tok-type">u8</span>)</spa
b55c0 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>.......
b55e0 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 69 6e 73 This.function.can.only.occur.ins
b5600 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 3c 73 70 ide.<code><span.class="line"><sp
b5620 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c an.class="tok-builtin">@cImport<
b5640 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>
b5660 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 20 3c 63 .......<p>.......This.appends.<c
b5680 6f 64 65 3e 23 75 6e 64 65 66 20 24 6e 61 6d 65 3c 2f 63 6f 64 65 3e 20 74 6f 20 74 68 65 20 3c ode>#undef.$name</code>.to.the.<
b56a0 63 6f 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
b56c0 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 6e ass="tok-builtin">@cImport</span
b56e0 3e 3c 2f 73 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 ></span></code>.......temporary.
b5700 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 buffer........</p>.......<p>See.
b5720 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f also:</p><ul>.<li><a.href="#Impo
b5740 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 rt-from-C-Header-File">Import.fr
b5760 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 om.C.Header.File</a></li>.<li><a
b5780 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c .href="#cImport">@cImport</a></l
b57a0 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 i>.<li><a.href="#cDefine">@cDefi
b57c0 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 ne</a></li>.<li><a.href="#cInclu
b57e0 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 de">@cInclude</a></li>.</ul>....
b5800 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 45 78 61 63 74 22 3e 3c 61 ............<h3.id="divExact"><a
b5820 20 68 72 65 66 3d 22 23 74 6f 63 2d 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c .href="#toc-divExact">@divExact<
b5840 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 /a>.<a.class="hdr".href="#divExa
b5860 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 ct">..</a></h3>........<pre><cod
b5880 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
b58a0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 ="tok-builtin">@divExact</span>(
b58c0 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c numerator:.T,.denominator:.T).T<
b58e0 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>...
b5900 20 20 20 20 45 78 61 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 ....Exact.division..Caller.guara
b5920 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 22 3e 64 ntees.<code><span.class="line">d
b5940 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 6b 2d 6e enominator.!=.<span.class="tok-n
b5960 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 20 61 6e umber">0</span></span></code>.an
b5980 64 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 73 73 3d 22 6c d...........<code><span.class="l
b59a0 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">@
b59c0 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 2c 20 64 65 6e 6f 6d divTrunc</span>(numerator,.denom
b59e0 69 6e 61 74 6f 72 29 20 2a 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d 20 6e 75 6d 65 72 61 74 inator).*.denominator.==.numerat
b5a00 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 70 3e 0a 20 20 20 or</span></code>........</p>....
b5a20 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
b5a40 6e 20 63 6c 61 73 73 3d 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-
b5a60 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 builtin">@divExact</span>(<span.
b5a80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">6</span>,.<sp
b5aa0 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>).
b5ac0 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
b5ae0 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>.........
b5b00 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"><
b5b20 73 70 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
b5b40 63 74 3c 2f 73 70 61 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 ct</span>(a,.b).*.b.==.a</span><
b5b60 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
b5b80 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 20 70 >For.a.function.that.returns.a.p
b5ba0 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 ossible.error.code,.use.<code><s
b5bc0 70 61 6e 20 63 6c 61 73 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
b5be0 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.
b5c00 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;<
b5c20 2f 73 70 61 6e 3e 29 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 /span>).math.divExact</span></co
b5c40 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c de>.</p>.......<p>See.also:</p><
b5c60 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 ul>.<li><a.href="#divTrunc">@div
b5c80 54 72 75 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 Trunc</a></li>.<li><a.href="#div
b5ca0 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 0a 3c 2f 75 6c 3e 0a Floor">@divFloor</a></li>.</ul>.
b5cc0 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 46 6c 6f 6f 72 22 3e ..............<h3.id="divFloor">
b5ce0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f <a.href="#toc-divFloor">@divFloo
b5d00 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 76 46 r</a>.<a.class="hdr".href="#divF
b5d20 6c 6f 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 loor">..</a></h3>........<pre><c
b5d40 6f 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
b5d60 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 6e ss="tok-builtin">@divFloor</span
b5d80 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 >(numerator:.T,.denominator:.T).
b5da0 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 0a T</span></code></pre>.......<p>.
b5dc0 20 20 20 20 20 20 46 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 ......Floored.division..Rounds.t
b5de0 6f 77 61 72 64 20 6e 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 oward.negative.infinity..For.uns
b5e00 69 67 6e 65 64 20 69 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 igned.integers.it.is.......the.s
b5e20 61 6d 65 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 ame.as.<code><span.class="line">
b5e40 6e 75 6d 65 72 61 74 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 numerator./.denominator</span></
b5e60 63 6f 64 65 3e 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 code>..Caller.guarantees.<code><
b5e80 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 74 6f 72 20 21 3d span.class="line">denominator.!=
b5ea0 20 3c 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
b5ec0 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 20 20 20 20 20 20 n></span></code>.and............
b5ee0 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 21 28 3c 73 ...<code><span.class="line">!(<s
b5f00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 pan.class="tok-builtin">@typeInf
b5f20 6f 3c 2f 73 70 61 6e 3e 28 54 29 20 3d 3d 20 2e 49 6e 74 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d o</span>(T).==..Int.<span.class=
b5f40 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 54 2e 69 73 5f 73 69 67 6e 65 64 20 "tok-kw">and</span>.T.is_signed.
b5f60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">and</span>.
b5f80 6e 75 6d 65 72 61 74 6f 72 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 54 29 20 numerator.==.std.math.minInt(T).
b5fa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">and</span>.
b5fc0 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b denominator.==.-<span.class="tok
b5fe0 2d 6e 75 6d 62 65 72 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 -number">1</span>)</span></code>
b6000 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 ........</p>.......<ul>.........
b6020 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"><
b6040 73 70 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 span.class="tok-builtin">@divFlo
b6060 6f 72 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 or</span>(-<span.class="tok-numb
b6080 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e er">5</span>,.<span.class="tok-n
b60a0 75 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 umber">3</span>).==.-<span.class
b60c0 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 70 61 6e 3e 3c 2f 63 ="tok-number">2</span></span></c
b60e0 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 ode></li>...........<li><code><s
b6100 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 22 74 pan.class="line">(<span.class="t
b6120 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 61 2c 20 ok-builtin">@divFloor</span>(a,.
b6140 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 69 6c 74 b).*.b).+.<span.class="tok-built
b6160 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 70 61 6e in">@mod</span>(a,.b).==.a</span
b6180 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 20 20 20 ></code></li>.......</ul>.......
b61a0 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 73 20 61 <p>For.a.function.that.returns.a
b61c0 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e .possible.error.code,.use.<code>
b61e0 3c 73 70 61 6e 20 63 6c 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="
b6200 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
b6220 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
b6240 3b 3c 2f 73 70 61 6e 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 ;</span>).math.divFloor</span></
b6260 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 code>.</p>.......<p>See.also:</p
b6280 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 ><ul>.<li><a.href="#divTrunc">@d
b62a0 69 76 54 72 75 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 ivTrunc</a></li>.<li><a.href="#d
b62c0 69 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 3c 2f 75 6c ivExact">@divExact</a></li>.</ul
b62e0 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 54 72 75 6e 63 >...............<h3.id="divTrunc
b6300 22 3e 3c 61 20 68 72 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 "><a.href="#toc-divTrunc">@divTr
b6320 75 6e 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 unc</a>.<a.class="hdr".href="#di
b6340 76 54 72 75 6e 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e vTrunc">..</a></h3>........<pre>
b6360 3c 63 6f 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
b6380 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 63 3c 2f 73 70 lass="tok-builtin">@divTrunc</sp
b63a0 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 an>(numerator:.T,.denominator:.T
b63c0 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 20 20 20 20 20 3c 70 ).T</span></code></pre>.......<p
b63e0 3e 0a 20 20 20 20 20 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 >.......Truncated.division..Roun
b6400 64 73 20 74 6f 77 61 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 ds.toward.zero..For.unsigned.int
b6420 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 3c 63 egers.it.is.......the.same.as.<c
b6440 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 6f 72 ode><span.class="line">numerator
b6460 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 43 61 ./.denominator</span></code>..Ca
b6480 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 61 73 ller.guarantees.<code><span.clas
b64a0 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 63 6c s="line">denominator.!=.<span.cl
b64c0 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>
b64e0 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 65 3e </code>.and...............<code>
b6500 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 73 73 <span.class="line">!(<span.class
b6520 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 ="tok-builtin">@typeInfo</span>(
b6540 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 22 3e T).==..Int.<span.class="tok-kw">
b6560 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 6c 61 and</span>.T.is_signed.<span.cla
b6580 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 6f 72 ss="tok-kw">and</span>.numerator
b65a0 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 6c 61 .==.std.math.minInt(T).<span.cla
b65c0 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 61 74 ss="tok-kw">and</span>.denominat
b65e0 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 22 3e or.==.-<span.class="tok-number">
b6600 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 20 3c 1</span>)</span></code>........<
b6620 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 6f /p>.......<ul>...........<li><co
b6640 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
b6660 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e s="tok-builtin">@divTrunc</span>
b6680 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 73 70 (-<span.class="tok-number">5</sp
b66a0 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<
b66c0 2f 73 70 61 6e 3e 29 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d /span>).==.-<span.class="tok-num
b66e0 62 65 72 22 3e 31 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 ber">1</span></span></code></li>
b6700 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
b6720 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 74 69 ="line">(<span.class="tok-builti
b6740 6e 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 29 20 2b n">@divTrunc</span>(a,.b).*.b).+
b6760 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 6d 3c .<span.class="tok-builtin">@rem<
b6780 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 3e 3c /span>(a,.b).==.a</span></code><
b67a0 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.
b67c0 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
b67e0 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
b6800 73 73 3d 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
b6820 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="
b6840 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>)
b6860 2e 6d 61 74 68 2e 64 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 .math.divTrunc</span></code>.</p
b6880 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
b68a0 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f ><a.href="#divFloor">@divFloor</
b68c0 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 22 3e a></li>.<li><a.href="#divExact">
b68e0 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 20 20 @divExact</a></li>.</ul>........
b6900 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 6d 62 65 64 46 69 6c 65 22 3e 3c 61 20 68 72 65 .......<h3.id="embedFile"><a.hre
b6920 66 3d 22 23 74 6f 63 2d 65 6d 62 65 64 46 69 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 f="#toc-embedFile">@embedFile</a
b6940 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 6d 62 65 64 46 69 6c >.<a.class="hdr".href="#embedFil
b6960 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 64 65 e">..</a></h3>........<pre><code
b6980 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=
b69a0 22 74 6f 6b 2d 62 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 "tok-builtin">@embedFile</span>(
b69c0 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
b69e0 70 61 6e 3e 20 70 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 pan>.path:.[]<span.class="tok-kw
b6a00 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-
b6a20 74 79 70 65 22 3e 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 type">u8</span>).*<span.class="t
b6a40 6f 6b 2d 6b 77 22 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 ok-kw">const</span>.[N:<span.cla
b6a60 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 ss="tok-number">0</span>]<span.c
b6a80 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 70 61 6e 3e lass="tok-type">u8</span></span>
b6aa0 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
b6ac0 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 63 6f 6d 70 69 6c 65 20 74 69 is.function.returns.a.compile.ti
b6ae0 6d 65 20 63 6f 6e 73 74 61 6e 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 6e 75 6c 6c 2d 74 65 72 6d me.constant.pointer.to.null-term
b6b00 69 6e 61 74 65 64 2c 0a 20 20 20 20 20 20 66 69 78 65 64 2d 73 69 7a 65 20 61 72 72 61 79 20 77 inated,.......fixed-size.array.w
b6b20 69 74 68 20 6c 65 6e 67 74 68 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 62 79 74 65 20 63 6f 75 ith.length.equal.to.the.byte.cou
b6b40 6e 74 20 6f 66 20 74 68 65 20 66 69 6c 65 20 67 69 76 65 6e 20 62 79 0a 20 20 20 20 20 20 3c 63 nt.of.the.file.given.by.......<c
b6b60 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 2f 73 70 61 ode><span.class="line">path</spa
b6b80 6e 3e 3c 2f 63 6f 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 n></code>..The.contents.of.the.a
b6ba0 72 72 61 79 20 61 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 rray.are.the.contents.of.the.fil
b6bc0 65 2e 0a 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 74 6f 20 61 e........This.is.equivalent.to.a
b6be0 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 73 2d 61 6e 64 2d 55 .<a.href="#String-Literals-and-U
b6c00 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 73 74 72 69 nicode-Code-Point-Literals">stri
b6c20 6e 67 20 6c 69 74 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 ng.literal</a>.......with.the.fi
b6c40 6c 65 20 63 6f 6e 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 le.contents........</p>.......<p
b6c60 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"
b6c80 3e 70 61 74 68 3c 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 >path</span></code>.is.absolute.
b6ca0 6f 72 20 72 65 6c 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 or.relative.to.the.current.file,
b6cc0 20 6a 75 73 74 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 .just.like.<code><span.class="li
b6ce0 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 69 ne"><span.class="tok-builtin">@i
b6d00 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 2e 0a 20 20 20 20 mport</span></span></code>......
b6d20 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
b6d40 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c >.<li><a.href="#import">@import<
b6d60 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 /a></li>.</ul>................<h
b6d80 33 20 69 64 3d 22 65 6e 75 6d 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 3.id="enumToInt"><a.href="#toc-e
b6da0 6e 75 6d 54 6f 49 6e 74 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 numToInt">@enumToInt</a>.<a.clas
b6dc0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 6e 75 6d 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e s="hdr".href="#enumToInt">..</a>
b6de0 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
b6e00 61 73 73 3d 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
b6e20 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 65 6e 75 6d 5f 6f 72 5f 74 tin">@enumToInt</span>(enum_or_t
b6e40 61 67 67 65 64 5f 75 6e 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 agged_union:.<span.class="tok-kw
b6e60 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
b6e80 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
b6ea0 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
b6ec0 74 73 20 61 6e 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 20 69 6e 74 6f 20 69 74 73 ts.an.enumeration.value.into.its
b6ee0 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 2e 20 57 68 65 6e 20 61 20 74 61 67 67 65 64 .integer.tag.type..When.a.tagged
b6f00 20 75 6e 69 6f 6e 20 69 73 20 70 61 73 73 65 64 2c 0a 20 20 20 20 20 20 74 68 65 20 74 61 67 20 .union.is.passed,.......the.tag.
b6f20 76 61 6c 75 65 20 69 73 20 75 73 65 64 20 61 73 20 74 68 65 20 65 6e 75 6d 65 72 61 74 69 6f 6e value.is.used.as.the.enumeration
b6f40 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 .value........</p>.......<p>....
b6f60 20 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6f 6e 6c 79 20 6f 6e 65 20 70 6f 73 73 69 62 6c 65 ...If.there.is.only.one.possible
b6f80 20 65 6e 75 6d 20 76 61 6c 75 65 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 3c 63 6f .enum.value,.the.result.is.a.<co
b6fa0 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
b6fc0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e s="tok-type">comptime_int</span>
b6fe0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 6b 6e 6f 77 6e 20 61 74 20 3c 61 </span></code>.......known.at.<a
b7000 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 2e 0a .href="#comptime">comptime</a>..
b7020 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
b7040 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 ><ul>.<li><a.href="#intToEnum">@
b7060 69 6e 74 54 6f 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 intToEnum</a></li>.</ul>........
b7080 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 72 72 6f 72 4e 61 6d 65 22 3e 3c 61 20 68 72 ........<h3.id="errorName"><a.hr
b70a0 65 66 3d 22 23 74 6f 63 2d 65 72 72 6f 72 4e 61 6d 65 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f ef="#toc-errorName">@errorName</
b70c0 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 6f 72 4e 61 a>.<a.class="hdr".href="#errorNa
b70e0 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 64 me">..</a></h3>........<pre><cod
b7100 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
b7120 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e ="tok-builtin">@errorName</span>
b7140 28 65 72 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 (err:.<span.class="tok-type">any
b7160 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 29 20 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b error</span>).[:<span.class="tok
b7180 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -number">0</span>]<span.class="t
b71a0 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=
b71c0 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 63 6f 64 "tok-type">u8</span></span></cod
b71e0 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 e></pre>.......<p>.......This.fu
b7200 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 nction.returns.the.string.repres
b7220 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 6f 72 2e 20 54 68 65 20 73 74 72 69 6e 67 entation.of.an.error..The.string
b7240 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 6f 66 20 3c 63 6f 64 65 3e 3c .representation.......of.<code><
b7260 73 70 61 6e 20 63 6c 61 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
b7280 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 3c 2f 73 70 ok-kw">error</span>.OutOfMem</sp
b72a0 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 73 73 3d an></code>.is.<code><span.class=
b72c0 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 26 71 75 "line"><span.class="tok-str">&qu
b72e0 6f 74 3b 4f 75 74 4f 66 4d 65 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ot;OutOfMem&quot;</span></span><
b7300 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 20 20 20 /code>........</p>.......<p>....
b7320 20 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 63 61 6c 6c 73 20 74 6f 20 3c 63 6f 64 ...If.there.are.no.calls.to.<cod
b7340 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
b7360 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e ="tok-builtin">@errorName</span>
b7380 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 61 6e 20 65 6e 74 69 72 65 20 61 70 70 6c </span></code>.in.an.entire.appl
b73a0 69 63 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 6f 72 20 61 6c 6c 20 63 61 6c 6c 73 20 68 61 76 65 ication,.......or.all.calls.have
b73c0 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 66 6f 72 20 .a.compile-time.known.value.for.
b73e0 3c 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 3c 2f 73 70 <code><span.class="line">err</sp
b7400 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e 20 6e 6f 0a 20 20 20 20 20 20 65 72 72 6f 72 20 an></code>,.then.no.......error.
b7420 6e 61 6d 65 20 74 61 62 6c 65 20 77 69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64 2e 0a 20 20 name.table.will.be.generated....
b7440 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 ....</p>...............<h3.id="e
b7460 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 rrorReturnTrace"><a.href="#toc-e
b7480 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e 40 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 rrorReturnTrace">@errorReturnTra
b74a0 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 22 23 65 72 72 ce</a>.<a.class="hdr".href="#err
b74c0 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 orReturnTrace">..</a></h3>......
b74e0 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">
b7500 3c 73 70 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
b7520 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 73 70 61 6e 3e 28 29 20 3f 2a 62 75 69 6c 74 69 6e 2e 53 ReturnTrace</span>().?*builtin.S
b7540 74 61 63 6b 54 72 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 tackTrace</span></code></pre>...
b7560 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 62 69 6e 61 72 79 20 69 73 20 62 ....<p>.......If.the.binary.is.b
b7580 75 69 6c 74 20 77 69 74 68 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 2c 20 uilt.with.error.return.tracing,.
b75a0 61 6e 64 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 76 6f 6b 65 64 20 69 6e 20 and.this.function.is.invoked.in.
b75c0 61 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 61 20 66 75 a.......function.that.calls.a.fu
b75e0 6e 63 74 69 6f 6e 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 6f 72 20 65 72 72 6f 72 20 75 6e nction.with.an.error.or.error.un
b7600 69 6f 6e 20 72 65 74 75 72 6e 20 74 79 70 65 2c 20 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 ion.return.type,.returns.a......
b7620 20 73 74 61 63 6b 20 74 72 61 63 65 20 6f 62 6a 65 63 74 2e 20 4f 74 68 65 72 77 69 73 65 20 72 .stack.trace.object..Otherwise.r
b7640 65 74 75 72 6e 73 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 2e eturns.<a.href="#null">null</a>.
b7660 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
b7680 3d 22 65 72 72 6f 72 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 6f ="errorToInt"><a.href="#toc-erro
b76a0 72 54 6f 49 6e 74 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 rToInt">@errorToInt</a>.<a.class
b76c0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 6f 72 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e ="hdr".href="#errorToInt">..</a>
b76e0 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
b7700 61 73 73 3d 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
b7720 74 69 6e 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 3c 73 70 tin">@errorToInt</span>(err:.<sp
b7740 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>
b7760 29 20 73 74 64 2e 6d 65 74 61 2e 49 6e 74 28 2e 75 6e 73 69 67 6e 65 64 2c 20 3c 73 70 61 6e 20 ).std.meta.Int(.unsigned,.<span.
b7780 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 class="tok-builtin">@sizeOf</spa
b77a0 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 n>(<span.class="tok-type">anyerr
b77c0 6f 72 3c 2f 73 70 61 6e 3e 29 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 or</span>).*.<span.class="tok-nu
b77e0 6d 62 65 72 22 3e 38 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 mber">8</span>)</span></code></p
b7800 72 65 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 74 68 65 re>.......<p>.......Supports.the
b7820 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .following.types:.......</p>....
b7840 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 ...<ul>...........<li><a.href="#
b7860 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c The-Global-Error-Set">The.Global
b7880 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c .Error.Set</a></li>...........<l
b78a0 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 45 72 72 6f i><a.href="#Error-Set-Type">Erro
b78c0 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c r.Set.Type</a></li>...........<l
b78e0 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 i><a.href="#Error-Union-Type">Er
b7900 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f ror.Union.Type</a></li>.......</
b7920 75 6c 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 ul>.......<p>.......Converts.an.
b7940 65 72 72 6f 72 20 74 6f 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 error.to.the.integer.representat
b7960 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ion.of.an.error........</p>.....
b7980 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 72 65 63 6f ..<p>.......It.is.generally.reco
b79a0 6d 6d 65 6e 64 65 64 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 0a 20 20 20 20 20 20 63 61 73 74 mmended.to.avoid.this.......cast
b79c0 2c 20 61 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 ,.as.the.integer.representation.
b79e0 6f 66 20 61 6e 20 65 72 72 6f 72 20 69 73 20 6e 6f 74 20 73 74 61 62 6c 65 20 61 63 72 6f 73 73 of.an.error.is.not.stable.across
b7a00 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e .source.code.changes........</p>
b7a20 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>
b7a40 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 72 72 6f 72 22 3e 40 69 6e 74 54 6f 45 72 72 6f <a.href="#intToError">@intToErro
b7a60 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 20 20 20 20 r</a></li>.</ul>................
b7a80 3c 68 33 20 69 64 3d 22 65 72 72 53 65 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f <h3.id="errSetCast"><a.href="#to
b7aa0 63 2d 65 72 72 53 65 74 43 61 73 74 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 61 3e 20 3c 61 c-errSetCast">@errSetCast</a>.<a
b7ac0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 53 65 74 43 61 73 74 22 3e .class="hdr".href="#errSetCast">
b7ae0 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
b7b00 70 61 6e 20 63 6c 61 73 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
b7b20 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 6e 3e 28 3c 73 k-builtin">@errSetCast</span>(<s
b7b40 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
b7b60 6e 3e 20 54 3a 20 44 65 73 74 54 79 70 65 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 n>.T:.DestType,.value:.<span.cla
b7b80 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 44 65 73 74 ss="tok-kw">anytype</span>).Dest
b7ba0 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c Type</span></code></pre>.......<
b7bc0 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 65 72 72 6f 72 20 76 61 6c 75 65 p>.......Converts.an.error.value
b7be0 20 66 72 6f 6d 20 6f 6e 65 20 65 72 72 6f 72 20 73 65 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 65 .from.one.error.set.to.another.e
b7c00 72 72 6f 72 20 73 65 74 2e 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 rror.set..Attempting.to.convert.
b7c20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 69 6e 20 74 an.error.......which.is.not.in.t
b7c40 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 65 72 72 6f 72 20 73 65 74 20 72 65 73 75 6c 74 73 he.destination.error.set.results
b7c60 20 69 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 .in.safety-protected.<a.href="#U
b7c80 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
b7ca0 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>...........
b7cc0 20 20 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 ....<h3.id="export"><a.href="#to
b7ce0 63 2d 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 c-export">@export</a>.<a.class="
b7d00 68 64 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 hdr".href="#export">..</a></h3>.
b7d20 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
b7d40 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">@
b7d60 65 78 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 export</span>(declaration,.<span
b7d80 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>.
b7da0 6f 70 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 options:.std.builtin.ExportOptio
b7dc0 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<
b7de0 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>......
b7e00 20 3c 70 3e 0a 20 20 20 20 20 20 43 72 65 61 74 65 73 20 61 20 73 79 6d 62 6f 6c 20 69 6e 20 74 .<p>.......Creates.a.symbol.in.t
b7e20 68 65 20 6f 75 74 70 75 74 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 he.output.object.file........</p
b7e40 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 64 65 63 6c 61 72 61 74 >.......<p>.......<code>declarat
b7e60 69 6f 6e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 6f 6e 65 20 6f 66 20 74 77 6f 20 74 68 ion</code>.must.be.one.of.two.th
b7e80 69 6e 67 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 ings:.......</p>.......<ul>.....
b7ea0 20 20 20 20 3c 6c 69 3e 41 6e 20 69 64 65 6e 74 69 66 69 65 72 20 28 3c 63 6f 64 65 3e 3c 73 70 ....<li>An.identifier.(<code><sp
b7ec0 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 29 an.class="line">x</span></code>)
b7ee0 20 69 64 65 6e 74 69 66 79 69 6e 67 20 61 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f .identifying.a.<a.href="#Functio
b7f00 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 20 6f 72 20 61 0a 20 20 20 20 20 20 20 20 20 20 ns">function</a>.or.a...........
b7f20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 <a.href="#Container-Level-Variab
b7f40 6c 65 73 22 3e 76 61 72 69 61 62 6c 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 les">variable</a>.</li>.........
b7f60 3c 6c 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 <li>Field.access.(<code><span.cl
b7f80 61 73 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 ass="line">x.y</span></code>).lo
b7fa0 6f 6b 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 oking.up.a.<a.href="#Functions">
b7fc0 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 20 68 function</a>.or.a...........<a.h
b7fe0 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"
b8000 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 3c 2f 75 6c 3e 0a >variable</a>.</li>.......</ul>.
b8020 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 63 61 6e ......<p>.......This.builtin.can
b8040 20 62 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 .be.called.from.a.<a.href="#comp
b8060 74 69 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 time">comptime</a>.block.to.cond
b8080 69 74 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 itionally.export.symbols........
b80a0 57 68 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 When.<code>declaration</code>.is
b80c0 20 61 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 .a.function.with.the.C.calling.c
b80e0 6f 6e 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 onvention.and.......<code><span.
b8100 63 6c 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 class="line">options.linkage</sp
b8120 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 73 73 3d an></code>.is.<code><span.class=
b8140 22 6c 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 "line">Strong</span></code>,.thi
b8160 73 20 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 s.is.equivalent.to.......the.<co
b8180 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
b81a0 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><
b81c0 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 75 73 65 64 20 6f 6e 20 61 20 66 75 6e 63 74 69 6f /code>.keyword.used.on.a.functio
b81e0 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 67 n:.......</p>.......<figure><fig
b8200 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
b8220 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ass="file">test.zig</cite></figc
b8240 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
b8260 69 6e 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
b8280 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="
b82a0 6c 69 6e 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
b82c0 69 6e 22 3e 40 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 69 6e 74 65 72 6e 61 6c 4e 61 6d 65 2c in">@export</span>(internalName,
b82e0 20 2e 7b 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ..{..name.=.<span.class="tok-str
b8300 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 6c 69 6e 6b 61 ">&quot;foo&quot;</span>,..linka
b8320 67 65 20 3d 20 2e 53 74 72 6f 6e 67 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ge.=..Strong.});</span>.<span.cl
b8340 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=
b8360 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
b8380 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>
b83a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 6e 74 65 72 6e 61 6c 4e 61 .<span.class="tok-fn">internalNa
b83c0 6d 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 me</span>().<span.class="tok-kw"
b83e0 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 43 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 >callconv</span>(.C).<span.class
b8400 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
b8420 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><
b8440 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
b8460 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 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
b8480 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 class="line">$.<kbd>zig.build-ob
b84a0 6a 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c j.test.zig</kbd></span>.</samp><
b84c0 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 /pre></figure>.......<p>This.is.
b84e0 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 equivalent.to:</p>.......<figure
b8500 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
b8520 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c te.class="file">test.zig</cite><
b8540 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
b8560 73 73 3d 22 6c 69 6e 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
b8580 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
b85a0 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"
b85c0 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
b85e0 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 3c 2f 63 6f 64 65 ype">void</span>.{}</span></code
b8600 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
b8620 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
b8640 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
b8660 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 74 65 73 74 2e line">$.<kbd>zig.build-obj.test.
b8680 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f zig</kbd></span>.</samp></pre></
b86a0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 65 76 65 6e 20 figure>.......<p>Note.that.even.
b86c0 77 68 65 6e 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 when.using.<code><span.class="li
b86e0 6e 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 74 3c ne"><span.class="tok-kw">export<
b8700 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 3c 63 6f 64 65 3e /span></span></code>,.the.<code>
b8720 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 40 26 71 75 6f 74 3b 66 6f 6f 26 71 75 <span.class="line">@&quot;foo&qu
b8740 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 66 6f 72 0a 20 20 20 ot;</span></code>.syntax.for....
b8760 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 66 69 65 72 73 22 3e 69 64 65 6e 74 69 ...<a.href="#Identifiers">identi
b8780 66 69 65 72 73 3c 2f 61 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 6f 6f 73 65 20 fiers</a>.can.be.used.to.choose.
b87a0 61 6e 79 20 73 74 72 69 6e 67 20 66 6f 72 20 74 68 65 20 73 79 6d 62 6f 6c 20 6e 61 6d 65 3a 3c any.string.for.the.symbol.name:<
b87c0 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
b87e0 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"
b8800 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 >test.zig</cite></figcaption><pr
b8820 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
b8840 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
b8860 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
b8880 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 40 26 71 75 6f 74 3b 41 20 66 75 6e 63 74 an.class="tok-fn">@&quot;A.funct
b88a0 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
b88c0 65 6e 63 65 2e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ence.&quot;</span>().<span.class
b88e0 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
b8900 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><
b8920 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
b8940 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 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
b8960 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 class="line">$.<kbd>zig.build-ob
b8980 6a 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c j.test.zig</kbd></span>.</samp><
b89a0 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 57 /pre></figure>.......<p>.......W
b89c0 68 65 6e 20 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 hen.looking.at.the.resulting.obj
b89e0 65 63 74 2c 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 ect,.you.can.see.the.symbol.is.u
b8a00 73 65 64 20 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 sed.verbatim:.......</p>.......<
b8a20 70 72 65 3e 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 pre><code>00000000000001f0.T.A.f
b8a40 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.
b8a60 73 65 6e 74 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 sentence.</code></pre>.......<p>
b8a80 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="#
b8aa0 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
b8ac0 20 61 20 43 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 .a.C.Library</a></li>.</ul>.....
b8ae0 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 22 3e 3c 61 20 68 72 ...........<h3.id="extern"><a.hr
b8b00 65 66 3d 22 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 ef="#toc-extern">@extern</a>.<a.
b8b20 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 22 3e c2 a7 3c 2f 61 class="hdr".href="#extern">..</a
b8b40 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
b8b60 6c 61 73 73 3d 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
b8b80 6c 74 69 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 28 54 3a 20 3c 73 70 61 6e 20 63 6c ltin">@extern</span>(T:.<span.cl
b8ba0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 ass="tok-type">type</span>,.<spa
b8bc0 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>
b8be0 20 6f 70 74 69 6f 6e 73 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 45 78 74 65 72 6e 4f 70 74 69 .options:.std.builtin.ExternOpti
b8c00 6f 6e 73 29 20 2a 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 ons).*T</span></code></pre>.....
b8c20 20 20 3c 70 3e 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 ..<p>.......Creates.a.reference.
b8c40 74 6f 20 61 6e 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 to.an.external.symbol.in.the.out
b8c60 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 20 20 20 20 put.object.file........</p>.....
b8c80 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
b8ca0 65 66 3d 22 23 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 ef="#export">@export</a></li>.</
b8cc0 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 66 65 6e 63 65 ul>................<h3.id="fence
b8ce0 22 3e 3c 61 20 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 "><a.href="#toc-fence">@fence</a
b8d00 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 65 6e 63 65 22 3e c2 >.<a.class="hdr".href="#fence">.
b8d20 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
b8d40 61 6e 20 63 6c 61 73 73 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
b8d60 2d 62 75 69 6c 74 69 6e 22 3e 40 66 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 6f 72 64 65 72 3a 20 41 -builtin">@fence</span>(order:.A
b8d80 74 6f 6d 69 63 4f 72 64 65 72 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a tomicOrder)</span></code></pre>.
b8da0 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 61 6e 20 ......<p>.......The.<code><span.
b8dc0 63 6c 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 class="line">fence</span></code>
b8de0 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 69 6e 74 72 6f 64 75 63 65 20 68 .function.is.used.to.introduce.h
b8e00 61 70 70 65 6e 73 2d 62 65 66 6f 72 65 20 65 64 67 65 73 20 62 65 74 77 65 65 6e 20 6f 70 65 72 appens-before.edges.between.oper
b8e20 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 0a 20 20 20 ations........</p>.......<p>....
b8e40 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 41 74 6f 6d ...<code><span.class="line">Atom
b8e60 69 63 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 icOrder</span></code>.can.be.fou
b8e80 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 nd.with.<code><span.class="line"
b8ea0 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
b8ec0 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">
b8ee0 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 74 69 6e 2e &quot;std&quot;</span>).builtin.
b8f00 41 74 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 AtomicOrder</span></code>.......
b8f20 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>
b8f40 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f .<li><a.href="#atomicStore">@ato
b8f60 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 micStore</a></li>.<li><a.href="#
b8f80 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e atomicLoad">@atomicLoad</a></li>
b8fa0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 .<li><a.href="#atomicRmw">@atomi
b8fc0 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 63 6d 70 78 cRmw</a></li>.<li><a.href="#cmpx
b8fe0 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c chgWeak">@cmpxchgWeak</a></li>.<
b9000 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 li><a.href="#cmpxchgStrong">@cmp
b9020 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 xchgStrong</a></li>.</ul>.......
b9040 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 69 65 6c 64 22 3e 3c 61 20 68 72 65 66 3d .........<h3.id="field"><a.href=
b9060 22 23 74 6f 63 2d 66 69 65 6c 64 22 3e 40 66 69 65 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 "#toc-field">@field</a>.<a.class
b9080 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 69 65 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e ="hdr".href="#field">..</a></h3>
b90a0 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="
b90c0 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">
b90e0 40 66 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 @field</span>(lhs:.<span.class="
b9100 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 6c tok-kw">anytype</span>,.<span.cl
b9120 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 65 ass="tok-kw">comptime</span>.fie
b9140 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ld_name:.[]<span.class="tok-kw">
b9160 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
b9180 70 65 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 pe">u8</span>).(field)</span></c
b91a0 6f 64 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 ode></pre>.......<p>Performs.fie
b91c0 6c 64 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 ld.access.by.a.compile-time.stri
b91e0 6e 67 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 ng..Works.on.both.fields.and.dec
b9200 6c 61 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 20 3c 66 69 larations........</p>........<fi
b9220 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"
b9240 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 69 65 6c 64 5f 64 65 63 6c 5f 61 ><cite.class="file">field_decl_a
b9260 63 63 65 73 73 5f 62 79 5f 73 74 72 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ccess_by_string.zig</cite></figc
b9280 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
b92a0 69 6e 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<
b92c0 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
b92e0 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
b9300 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
b9320 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"><
b9340 2f 73 70 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.
b9360 63 6c 61 73 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 6e class="tok-kw">const</span>.Poin
b9380 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 3c t.=.<span.class="tok-kw">struct<
b93a0 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
b93c0 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 22 e">....x:.<span.class="tok-type"
b93e0 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 3d >u32</span>,</span>.<span.class=
b9400 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 74 "line">....y:.<span.class="tok-t
b9420 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 20 63 6c ype">u32</span>,</span>.<span.cl
b9440 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="
b9460 6c 69 6e 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 70 line">....<span.class="tok-kw">p
b9480 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 76 ub</span>.<span.class="tok-kw">v
b94a0 61 72 3c 2f 73 70 61 6e 3e 20 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ar</span>.z:.<span.class="tok-ty
b94c0 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
b94e0 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
b9500 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
b9520 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="
b9540 6c 69 6e 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<
b9560 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
b9580 6f 74 3b 66 69 65 6c 64 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c ot;field.access.by.string&quot;<
b95a0 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
b95c0 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
b95e0 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
b9600 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">
b9620 20 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
b9640 61 6e 3e 20 70 20 3d 20 50 6f 69 6e 74 7b 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an>.p.=.Point{..x.=.<span.class=
b9660 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 2e 79 20 3d 20 3c 73 70 61 "tok-number">0</span>,..y.=.<spa
b9680 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 7d 3b n.class="tok-number">0</span>.};
b96a0 3c 2f 73 70 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
b96c0 6e 3e 0a 3c 73 70 61 6e 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.
b96e0 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 61 6e class="tok-builtin">@field</span
b9700 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 75 6f 74 >(p,.<span.class="tok-str">&quot
b9720 3b 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ;x&quot;</span>).=.<span.class="
b9740 74 6f 6b 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 tok-number">4</span>;</span>.<sp
b9760 61 6e 20 63 6c 61 73 73 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=
b9780 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c "tok-builtin">@field</span>(p,.<
b97a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 79 26 71 75 6f span.class="tok-str">&quot;y&quo
b97c0 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 t;</span>).=.<span.class="tok-bu
b97e0 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 6c iltin">@field</span>(p,.<span.cl
b9800 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
b9820 6e 3e 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 n>).+.<span.class="tok-number">1
b9840 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
b9860 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">..
b9880 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
b98a0 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
b98c0 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 6c 61 73 73 3d n">@field</span>(p,.<span.class=
b98e0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 "tok-str">&quot;x&quot;</span>).
b9900 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 3c 2f 73 ==.<span.class="tok-number">4</s
b9920 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"
b9940 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
b9960 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
b9980 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 6c 61 ltin">@field</span>(p,.<span.cla
b99a0 73 73 3d 22 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 ss="tok-str">&quot;y&quot;</span
b99c0 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 35 >).==.<span.class="tok-number">5
b99e0 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
b9a00 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">
b9a20 3c 2f 73 70 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
b9a40 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
b9a60 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 63 6c 20 61 63 63 n.class="tok-str">&quot;decl.acc
b9a80 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
b9aa0 61 6e 3e 0a 3c 73 70 61 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
b9ac0 20 63 6c 61 73 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
b9ae0 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>
b9b00 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
b9b20 6e 20 63 6c 61 73 73 3d 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="
b9b40 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 tok-kw">try</span>.expect(<span.
b9b60 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 61 6e class="tok-builtin">@field</span
b9b80 3e 28 50 6f 69 6e 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 >(Point,.<span.class="tok-str">&
b9ba0 71 75 6f 74 3b 7a 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 quot;z&quot;</span>).==.<span.cl
b9bc0 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
b9be0 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
b9c00 70 61 6e 20 63 6c 61 73 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
b9c20 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 50 6f 69 ="tok-builtin">@field</span>(Poi
b9c40 6e 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b nt,.<span.class="tok-str">&quot;
b9c60 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 z&quot;</span>).=.<span.class="t
b9c80 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
b9ca0 6e 20 63 6c 61 73 73 3d 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="
b9cc0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 tok-kw">try</span>.expect(<span.
b9ce0 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 61 6e class="tok-builtin">@field</span
b9d00 3e 28 50 6f 69 6e 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 >(Point,.<span.class="tok-str">&
b9d20 71 75 6f 74 3b 7a 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 quot;z&quot;</span>).==.<span.cl
b9d40 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 61 ass="tok-number">2</span>);</spa
b9d60 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></
b9d80 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
b9da0 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<
b9dc0 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><samp><span.cla
b9de0 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 66 69 65 6c 64 5f ss="line">$.<kbd>zig.test.field_
b9e00 64 65 63 6c 5f 61 63 63 65 73 73 5f 62 79 5f 73 74 72 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 3c decl_access_by_string.zig</kbd><
b9e20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 /span>.<span.class="line">1/2.te
b9e40 73 74 20 26 71 75 6f 74 3b 66 69 65 6c 64 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 26 st.&quot;field.access.by.string&
b9e60 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;....OK</span>.<span.class="
b9e80 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 64 65 63 6c 20 61 63 63 65 73 73 line">2/2.test.&quot;decl.access
b9ea0 20 62 79 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 .by.string&quot;....OK</span>.<s
b9ec0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 pan.class="line">All.2.tests.pas
b9ee0 73 65 64 2e 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 sed.</span>.</samp></pre></figur
b9f00 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 69 65 6c 64 50 e>................<h3.id="fieldP
b9f20 61 72 65 6e 74 50 74 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 69 65 6c 64 50 61 72 arentPtr"><a.href="#toc-fieldPar
b9f40 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 20 3c 61 20 63 entPtr">@fieldParentPtr</a>.<a.c
b9f60 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 lass="hdr".href="#fieldParentPtr
b9f80 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>
b9fa0 3c 73 70 61 6e 20 63 6c 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="
b9fc0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 73 70 tok-builtin">@fieldParentPtr</sp
b9fe0 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
ba000 65 3c 2f 73 70 61 6e 3e 20 50 61 72 65 6e 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 e</span>.ParentType:.<span.class
ba020 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ="tok-type">type</span>,.<span.c
ba040 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 66 69 lass="tok-kw">comptime</span>.fi
ba060 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 eld_name:.[]<span.class="tok-kw"
ba080 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 74 >const</span>.<span.class="tok-t
ba0a0 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 61 ype">u8</span>,</span>.<span.cla
ba0c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 69 65 6c 64 5f 70 74 72 3a 20 2a 54 29 20 2a 50 61 ss="line">....field_ptr:.*T).*Pa
ba0e0 72 65 6e 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 rentType</span></code></pre>....
ba100 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 47 69 76 65 6e 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 ...<p>.......Given.a.pointer.to.
ba120 61 20 66 69 65 6c 64 2c 20 72 65 74 75 72 6e 73 20 74 68 65 20 62 61 73 65 20 70 6f 69 6e 74 65 a.field,.returns.the.base.pointe
ba140 72 20 6f 66 20 61 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 r.of.a.struct........</p>.......
ba160 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 6c 6f 61 74 43 61 73 74 22 3e 3c 61 20 68 72 ........<h3.id="floatCast"><a.hr
ba180 65 66 3d 22 23 74 6f 63 2d 66 6c 6f 61 74 43 61 73 74 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f ef="#toc-floatCast">@floatCast</
ba1a0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 43 61 a>.<a.class="hdr".href="#floatCa
ba1c0 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 64 st">..</a></h3>........<pre><cod
ba1e0 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
ba200 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 73 70 61 6e 3e ="tok-builtin">@floatCast</span>
ba220 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</
ba240 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>.DestType:.<span.class="tok
ba260 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e -type">type</span>,.value:.<span
ba280 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>).
ba2a0 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 DestType</span></code></pre>....
ba2c0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 20 66 72 6f 6d 20 6f 6e 65 20 66 6c ...<p>.......Convert.from.one.fl
ba2e0 6f 61 74 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2e 20 54 68 69 73 20 63 61 73 74 20 69 oat.type.to.another..This.cast.i
ba300 73 20 73 61 66 65 2c 20 62 75 74 20 6d 61 79 20 63 61 75 73 65 20 74 68 65 0a 20 20 20 20 20 20 s.safe,.but.may.cause.the.......
ba320 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 20 74 6f 20 6c 6f 73 65 20 70 72 65 63 69 73 69 6f 6e 2e numeric.value.to.lose.precision.
ba340 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
ba360 3d 22 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 6c 6f 61 ="floatToInt"><a.href="#toc-floa
ba380 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 74 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 tToInt">@floatToInt</a>.<a.class
ba3a0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e ="hdr".href="#floatToInt">..</a>
ba3c0 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
ba3e0 61 73 73 3d 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
ba400 74 69 6e 22 3e 40 66 6c 6f 61 74 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c tin">@floatToInt</span>(<span.cl
ba420 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 44 65 73 ass="tok-kw">comptime</span>.Des
ba440 74 54 79 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 3e 74 79 tType:.<span.class="tok-type">ty
ba460 70 65 3c 2f 73 70 61 6e 3e 2c 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pe</span>,.float:.<span.class="t
ba480 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 65 3c ok-kw">anytype</span>).DestType<
ba4a0 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>...
ba4c0 20 20 20 20 43 6f 6e 76 65 72 74 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 6f 66 ....Converts.the.integer.part.of
ba4e0 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 74 6f 20 74 68 65 20 .a.floating.point.number.to.the.
ba500 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>....
ba520 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 ...<p>.......If.the.integer.part
ba540 20 6f 66 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 63 61 .of.the.floating.point.number.ca
ba560 6e 6e 6f 74 20 66 69 74 20 69 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 nnot.fit.in.the.destination.type
ba580 2c 0a 20 20 20 20 20 20 69 74 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 ,.......it.invokes.safety-checke
ba5a0 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 72 22 3e d.<a.href="#Undefined-Behavior">
ba5c0 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 20 3c 2f Undefined.Behavior</a>........</
ba5e0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c p>.......<p>See.also:</p><ul>.<l
ba600 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 46 6c 6f 61 74 22 3e 40 69 6e 74 54 6f 46 6c i><a.href="#intToFloat">@intToFl
ba620 6f 61 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 oat</a></li>.</ul>..............
ba640 20 20 3c 68 33 20 69 64 3d 22 66 72 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 ..<h3.id="frame"><a.href="#toc-f
ba660 72 61 6d 65 22 3e 40 66 72 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 rame">@frame</a>.<a.class="hdr".
ba680 68 72 65 66 3d 22 23 66 72 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 href="#frame">..</a></h3>.......
ba6a0 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"><
ba6c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 3c span.class="tok-builtin">@frame<
ba6e0 2f 73 70 61 6e 3e 28 29 20 2a 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
ba700 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 29 3c 2f 73 70 61 6e 3e 3c 2f in">@Frame</span>(func)</span></
ba720 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 code></pre>.......<p>.......This
ba740 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 .function.returns.a.pointer.to.t
ba760 68 65 20 66 72 61 6d 65 20 66 6f 72 20 61 20 67 69 76 65 6e 20 66 75 6e 63 74 69 6f 6e 2e 20 54 he.frame.for.a.given.function..T
ba780 68 69 73 20 74 79 70 65 0a 20 20 20 20 20 20 63 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 his.type.......can.be.<a.href="#
ba7a0 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 3e 20 74 6f 20 3c 63 Type-Coercion">coerced</a>.to.<c
ba7c0 6f 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
ba7e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 2d 26 67 74 3b ss="tok-kw">anyframe</span>-&gt;
ba800 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 74 6f 20 3c 63 6f T</span></code>.and.......to.<co
ba820 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
ba840 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e s="tok-kw">anyframe</span></span
ba860 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 65 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ></code>,.where.<code><span.clas
ba880 73 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 73 20 74 68 65 20 s="line">T</span></code>.is.the.
ba8a0 72 65 74 75 72 6e 20 74 79 70 65 0a 20 20 20 20 20 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f return.type.......of.the.functio
ba8c0 6e 20 69 6e 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 3c 70 3e n.in.scope........</p>.......<p>
ba8e0 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 6d 61 .......This.function.does.not.ma
ba900 72 6b 20 61 20 73 75 73 70 65 6e 73 69 6f 6e 20 70 6f 69 6e 74 2c 20 62 75 74 20 69 74 20 64 6f rk.a.suspension.point,.but.it.do
ba920 65 73 20 63 61 75 73 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 73 63 6f 70 65 0a 20 es.cause.the.function.in.scope..
ba940 20 20 20 20 20 74 6f 20 62 65 63 6f 6d 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e .....to.become.an.<a.href="#Asyn
ba960 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 2e c-Functions">async.function</a>.
ba980 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
ba9a0 3d 22 46 72 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 72 61 6d 65 22 3e 40 46 ="Frame"><a.href="#toc-Frame">@F
ba9c0 72 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 rame</a>.<a.class="hdr".href="#F
ba9e0 72 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 rame">..</a></h3>........<pre><c
baa00 6f 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
baa20 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 ss="tok-builtin">@Frame</span>(f
baa40 75 6e 63 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 unc:.<span.class="tok-kw">anytyp
baa60 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 e</span>).<span.class="tok-type"
baa80 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 70 72 65 3e >type</span></span></code></pre>
baaa0 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
baac0 65 74 75 72 6e 73 20 74 68 65 20 66 72 61 6d 65 20 74 79 70 65 20 6f 66 20 61 20 66 75 6e 63 74 eturns.the.frame.type.of.a.funct
baae0 69 6f 6e 2e 20 54 68 69 73 20 77 6f 72 6b 73 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 41 73 ion..This.works.for.<a.href="#As
bab00 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f ync-Functions">Async.Functions</
bab20 61 3e 0a 20 20 20 20 20 20 61 73 20 77 65 6c 6c 20 61 73 20 61 6e 79 20 66 75 6e 63 74 69 6f 6e a>.......as.well.as.any.function
bab40 20 77 69 74 68 6f 75 74 20 61 20 73 70 65 63 69 66 69 63 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 .without.a.specific.calling.conv
bab60 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 3c 70 3e 0a 20 20 20 ention........</p>.......<p>....
bab80 20 20 20 54 68 69 73 20 74 79 70 65 20 69 73 20 73 75 69 74 61 62 6c 65 20 74 6f 20 62 65 20 75 ...This.type.is.suitable.to.be.u
baba0 73 65 64 20 61 73 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 6f 66 20 3c 61 20 68 72 65 sed.as.the.return.type.of.<a.hre
babc0 66 3d 22 23 41 73 79 6e 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e 61 73 79 6e 63 3c 2f 61 3e 20 77 f="#Async-and-Await">async</a>.w
babe0 68 69 63 68 0a 20 20 20 20 20 20 61 6c 6c 6f 77 73 20 6f 6e 65 20 74 6f 2c 20 66 6f 72 20 65 78 hich.......allows.one.to,.for.ex
bac00 61 6d 70 6c 65 2c 20 68 65 61 70 2d 61 6c 6c 6f 63 61 74 65 20 61 6e 20 61 73 79 6e 63 20 66 75 ample,.heap-allocate.an.async.fu
bac20 6e 63 74 69 6f 6e 20 66 72 61 6d 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c nction.frame:.......</p>.......<
bac40 66 69 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
bac60 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 61 70 5f 61 6c 6c 6f 63 p"><cite.class="file">heap_alloc
bac80 61 74 65 64 5f 66 72 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 ated_frame.zig</cite></figcaptio
baca0 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">
bacc0 3c 73 70 61 6e 20 63 6c 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
bace0 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
bad00 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
bad20 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>);<
bad40 2f 73 70 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
bad60 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
bad80 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
bada0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 61 70 20 61 6c 6c 6f 63 61 74 65 64 s="tok-str">&quot;heap.allocated
badc0 20 66 72 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 0a 3c 73 70 .frame&quot;</span>.{</span>.<sp
bade0 61 6e 20 63 6c 61 73 73 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=
bae00 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 72 61 6d 65 20 3d 20 3c 73 "tok-kw">const</span>.frame.=.<s
bae20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 pan.class="tok-kw">try</span>.st
bae40 64 2e 68 65 61 70 2e 70 61 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 3c 73 70 d.heap.page_allocator.create(<sp
bae60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 an.class="tok-builtin">@Frame</s
bae80 70 61 6e 3e 28 66 75 6e 63 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>(func));</span>.<span.class=
baea0 22 6c 69 6e 65 22 3e 20 20 20 20 66 72 61 6d 65 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 "line">....frame.*.=.<span.class
baec0 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 28 29 3b 3c 2f ="tok-kw">async</span>.func();</
baee0 73 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
baf00 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
baf20 61 6e 20 63 6c 61 73 73 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
baf40 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-
baf60 66 6e 22 3e 66 75 6e 63 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">func</span>().<span.class="t
baf80 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
bafa0 70 61 6e 20 63 6c 61 73 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
bafc0 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 ="tok-kw">suspend</span>.{}</spa
bafe0 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></
bb000 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
bb020 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<
bb040 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><samp><span.cla
bb060 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 68 65 61 70 5f 61 ss="line">$.<kbd>zig.test.heap_a
bb080 6c 6c 6f 63 61 74 65 64 5f 66 72 61 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a llocated_frame.zig</kbd></span>.
bb0a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f <span.class="line">1/1.test.&quo
bb0c0 74 3b 68 65 61 70 20 61 6c 6c 6f 63 61 74 65 64 20 66 72 61 6d 65 26 71 75 6f 74 3b 2e 2e 2e 20 t;heap.allocated.frame&quot;....
bb0e0 4f 4b 3c 2f 73 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 6c 6c OK</span>.<span.class="line">All
bb100 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c .1.tests.passed.</span>.</samp><
bb120 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 /pre></figure>...............<h3
bb140 20 69 64 3d 22 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 .id="frameAddress"><a.href="#toc
bb160 2d 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 40 66 72 61 6d 65 41 64 64 72 65 73 73 3c 2f 61 3e -frameAddress">@frameAddress</a>
bb180 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 72 61 6d 65 41 64 64 72 .<a.class="hdr".href="#frameAddr
bb1a0 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f ess">..</a></h3>........<pre><co
bb1c0 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
bb1e0 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 73 73 3c 2f 73 s="tok-builtin">@frameAddress</s
bb200 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 73 pan>().<span.class="tok-type">us
bb220 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 72 65 3e 0a 20 ize</span></span></code></pre>..
bb240 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 74 .....<p>.......This.function.ret
bb260 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 65 20 63 75 72 urns.the.base.pointer.of.the.cur
bb280 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 3e 0a 20 20 20 rent.stack.frame........</p>....
bb2a0 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 6e 73 20 6f 66 ...<p>.......The.implications.of
bb2c0 20 74 68 69 73 20 61 72 65 20 74 61 72 67 65 74 20 73 70 65 63 69 66 69 63 20 61 6e 64 20 6e 6f .this.are.target.specific.and.no
bb2e0 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 20 20 20 70 6c t.consistent.across.all.......pl
bb300 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 6d 61 79 20 6e atforms..The.frame.address.may.n
bb320 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 6d 6f 64 65 20 ot.be.available.in.release.mode.
bb340 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 69 6d 69 7a 61 due.to.......aggressive.optimiza
bb360 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 0a 20 20 20 20 tions........</p>.......<p>.....
bb380 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
bb3a0 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>.
bb3c0 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 72 61 6d 65 53 69 7a 65 22 ..............<h3.id="frameSize"
bb3e0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 72 61 6d 65 53 69 7a 65 22 3e 40 66 72 61 6d 65 ><a.href="#toc-frameSize">@frame
bb400 53 69 7a 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 66 Size</a>.<a.class="hdr".href="#f
bb420 72 61 6d 65 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 rameSize">..</a></h3>........<pr
bb440 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
bb460 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 53 69 7a 65 3c .class="tok-builtin">@frameSize<
bb480 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">
bb4a0 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 72 65 3e usize</span></span></code></pre>
bb4c0 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 65 20 73 61 6d .......<p>.......This.is.the.sam
bb4e0 65 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 73 e.as.<code><span.class="line"><s
bb500 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c pan.class="tok-builtin">@sizeOf<
bb520 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"
bb540 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 29 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f >@Frame</span>(func))</span></co
bb560 64 65 3e 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 de>,.where.<code><span.class="li
bb580 6e 65 22 3e 66 75 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 6d 61 79 ne">func</span></code>.......may
bb5a0 20 62 65 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .be.runtime-known........</p>...
bb5c0 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 74 ....<p>.......This.function.is.t
bb5e0 79 70 69 63 61 6c 6c 79 20 75 73 65 64 20 69 6e 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 ypically.used.in.conjunction.wit
bb600 68 20 3c 61 20 68 72 65 66 3d 22 23 61 73 79 6e 63 43 61 6c 6c 22 3e 40 61 73 79 6e 63 43 61 6c h.<a.href="#asyncCall">@asyncCal
bb620 6c 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 l</a>........</p>...............
bb640 3c 68 33 20 69 64 3d 22 68 61 73 44 65 63 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 68 <h3.id="hasDecl"><a.href="#toc-h
bb660 61 73 44 65 63 6c 22 3e 40 68 61 73 44 65 63 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 asDecl">@hasDecl</a>.<a.class="h
bb680 64 72 22 20 68 72 65 66 3d 22 23 68 61 73 44 65 63 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a dr".href="#hasDecl">..</a></h3>.
bb6a0 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
bb6c0 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">@
bb6e0 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d hasDecl</span>(<span.class="tok-
bb700 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 43 6f 6e 74 61 69 6e 65 72 3a 20 3c kw">comptime</span>.Container:.<
bb720 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
bb740 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
bb760 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 6b </span>.name:.[]<span.class="tok
bb780 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
bb7a0 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=
bb7c0 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 3c 2f 63 "tok-type">bool</span></span></c
bb7e0 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 75 72 ode></pre>.......<p>.......Retur
bb800 6e 73 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 61 20 3c 61 20 68 72 65 66 3d 22 23 73 74 ns.whether.or.not.a.<a.href="#st
bb820 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 65 6e 75 6d ruct">struct</a>,.<a.href="#enum
bb840 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 6e 69 6f 6e 22 3e ">enum</a>,.or.<a.href="#union">
bb860 75 6e 69 6f 6e 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 20 union</a>.has.a.declaration.....
bb880 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 69 ..matching.<code><span.class="li
bb8a0 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 2f ne">name</span></code>........</
bb8c0 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
bb8e0 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">
bb900 68 61 73 44 65 63 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 hasDecl.zig</cite></figcaption><
bb920 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
bb940 61 6e 20 63 6c 61 73 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
bb960 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">@
bb980 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
bb9a0 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
bb9c0 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
bb9e0 73 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.
bba00 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
bba20 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
bba40 61 73 73 3d 22 6c 69 6e 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">
bba60 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="
bba80 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>.<
bbaa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 70 65 3a 20 3c 73 70 61 span.class="line">....nope:.<spa
bbac0 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>,</
bbae0 73 70 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>
bbb00 0a 3c 73 70 61 6e 20 63 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
bbb20 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
bbb40 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 6c 61 68 20 3d 20 3c ass="tok-kw">var</span>.blah.=.<
bbb60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 78 78 26 71 span.class="tok-str">&quot;xxx&q
bbb80 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 3d uot;</span>;</span>.<span.class=
bbba0 22 6c 69 6e 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">
bbbc0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 const</span>.hi.=.<span.class="t
bbbe0 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
bbc00 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
bbc20 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=
bbc40 22 6c 69 6e 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
bbc60 3c 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
bbc80 75 6f 74 3b 40 68 61 73 44 65 63 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 uot;@hasDecl&quot;</span>.{</spa
bbca0 6e 3e 0a 3c 73 70 61 6e 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.
bbcc0 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
bbce0 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 68 61 73 44 (<span.class="tok-builtin">@hasD
bbd00 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 3d 22 74 6f 6b ecl</span>(Foo,.<span.class="tok
bbd20 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 6c 61 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b -str">&quot;blah&quot;</span>));
bbd40 3c 2f 73 70 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
bbd60 6e 3e 0a 3c 73 70 61 6e 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.
bbd80 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 6e 20 74 68 6f 75 class="tok-comment">//.Even.thou
bbda0 67 68 20 60 68 69 60 20 69 73 20 70 72 69 76 61 74 65 2c 20 40 68 61 73 44 65 63 6c 20 72 65 74 gh.`hi`.is.private,.@hasDecl.ret
bbdc0 75 72 6e 73 20 74 72 75 65 20 62 65 63 61 75 73 65 20 74 68 69 73 20 74 65 73 74 20 69 73 3c 2f urns.true.because.this.test.is</
bbde0 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">
bbe00 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">//
bbe20 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 69 6c 65 20 73 63 6f 70 65 20 61 73 20 46 6f 6f 2e 20 .in.the.same.file.scope.as.Foo..
bbe40 49 74 20 77 6f 75 6c 64 20 72 65 74 75 72 6e 20 66 61 6c 73 65 20 69 66 20 46 6f 6f 20 77 61 73 It.would.return.false.if.Foo.was
bbe60 20 64 65 63 6c 61 72 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 .declared</span></span>.<span.cl
bbe80 61 73 73 3d 22 6c 69 6e 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-
bbea0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 20 61 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65 2e comment">//.in.a.different.file.
bbec0 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
bbee0 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</
bbf00 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
bbf20 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 70 61 iltin">@hasDecl</span>(Foo,.<spa
bbf40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b n.class="tok-str">&quot;hi&quot;
bbf60 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
bbf80 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">
bbfa0 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">//
bbfc0 20 40 68 61 73 44 65 63 6c 20 69 73 20 66 6f 72 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 3b 20 6e .@hasDecl.is.for.declarations;.n
bbfe0 6f 74 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 70 61 6e 20 63 ot.fields.</span></span>.<span.c
bc000 6c 61 73 73 3d 22 6c 69 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
bc020 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 3c 73 70 61 6e 20 63 6c -kw">try</span>.expect(!<span.cl
bc040 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
bc060 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 26 71 75 >(Foo,.<span.class="tok-str">&qu
bc080 6f 74 3b 6e 6f 70 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 ot;nope&quot;</span>));</span>.<
bc0a0 73 70 61 6e 20 63 6c 61 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
bc0c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 3c 73 s="tok-kw">try</span>.expect(!<s
bc0e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c pan.class="tok-builtin">@hasDecl
bc100 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 </span>(Foo,.<span.class="tok-st
bc120 72 22 3e 26 71 75 6f 74 3b 6e 6f 70 65 31 32 33 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 r">&quot;nope1234&quot;</span>))
bc140 3b 3c 2f 73 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
bc160 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
bc180 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">
bc1a0 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 3c 73 70 Shell</figcaption><pre><samp><sp
bc1c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 an.class="line">$.<kbd>zig.test.
bc1e0 68 61 73 44 65 63 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 hasDecl.zig</kbd></span>.<span.c
bc200 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 68 61 73 44 lass="line">1/1.test.&quot;@hasD
bc220 65 63 6c 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ecl&quot;....OK</span>.<span.cla
bc240 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 ss="line">All.1.tests.passed.</s
bc260 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>.....
bc280 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
bc2a0 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 69 ef="#hasField">@hasField</a></li
bc2c0 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 68 >.</ul>................<h3.id="h
bc2e0 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 22 asField"><a.href="#toc-hasField"
bc300 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 72 >@hasField</a>.<a.class="hdr".hr
bc320 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 20 ef="#hasField">..</a></h3>......
bc340 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">
bc360 3c 73 70 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 69 <span.class="tok-builtin">@hasFi
bc380 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 3e eld</span>(<span.class="tok-kw">
bc3a0 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 6e comptime</span>.Container:.<span
bc3c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c .class="tok-type">type</span>,.<
bc3e0 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
bc400 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 22 an>.name:.[]<span.class="tok-kw"
bc420 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 74 >const</span>.<span.class="tok-t
bc440 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 6b ype">u8</span>).<span.class="tok
bc460 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 3e -type">bool</span></span></code>
bc480 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 20 </pre>.......<p>Returns.whether.
bc4a0 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 6f the.field.name.of.a.struct,.unio
bc4c0 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 3e n,.or.enum.exists.</p>.......<p>
bc4e0 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 74 .......The.result.is.a.compile.t
bc500 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 3c ime.constant........</p>.......<
bc520 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 6e p>.......It.does.not.include.fun
bc540 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 2e ctions,.variables,.or.constants.
bc560 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f .......</p>.......<p>See.also:</
bc580 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 68 p><ul>.<li><a.href="#hasDecl">@h
bc5a0 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 20 asDecl</a></li>.</ul>...........
bc5c0 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 74 .....<h3.id="import"><a.href="#t
bc5e0 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 3d oc-import">@import</a>.<a.class=
bc600 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 3e "hdr".href="#import">..</a></h3>
bc620 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="
bc640 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">
bc660 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-
bc680 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 61 kw">comptime</span>.path:.[]<spa
bc6a0 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 73 n.class="tok-type">u8</span>).<s
bc6c0 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>
bc6e0 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>..
bc700 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 67 20 66 .....This.function.finds.a.zig.f
bc720 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 70 61 6e ile.corresponding.to.<code><span
bc740 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 64 65 3e .class="line">path</span></code>
bc760 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 20 20 20 .and.adds.it.to.the.build,......
bc780 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 20 20 20 .if.it.is.not.already.added.....
bc7a0 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 6f 75 72 ...</p>.......<p>.......Zig.sour
bc7c0 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 74 73 2c ce.files.are.implicitly.structs,
bc7e0 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 65 27 73 .with.a.name.equal.to.the.file's
bc800 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 20 20 20 .basename.with.the.extension....
bc820 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 73 73 3d ...truncated..<code><span.class=
bc840 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"
bc860 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 20 72 65 >@import</span></span></code>.re
bc880 74 75 72 6e 73 20 74 68 65 20 73 74 72 75 63 74 20 74 79 70 65 20 63 6f 72 72 65 73 70 6f 6e 64 turns.the.struct.type.correspond
bc8a0 69 6e 67 20 74 6f 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ing.to.the.file........</p>.....
bc8c0 20 20 3c 70 3e 0a 20 20 20 20 20 20 44 65 63 6c 61 72 61 74 69 6f 6e 73 20 77 68 69 63 68 20 68 ..<p>.......Declarations.which.h
bc8e0 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 6e 65 22 ave.the.<code><span.class="line"
bc900 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>
bc920 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 20 72 65 </span></code>.keyword.may.be.re
bc940 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 20 20 20 ferenced.from.a.different.......
bc960 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 20 61 72 source.file.than.the.one.they.ar
bc980 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 20 20 20 e.declared.in........</p>.......
bc9a0 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
bc9c0 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 61 20 72 e">path</span></code>.can.be.a.r
bc9e0 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 20 6e 61 elative.path.or.it.can.be.the.na
bca00 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 69 73 20 me.of.a.package........If.it.is.
bca20 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 76 65 20 a.relative.path,.it.is.relative.
bca40 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 20 3c 63 to.the.file.that.contains.the.<c
bca60 6f 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
bca80 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 3c ss="tok-builtin">@import</span><
bcaa0 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 63 61 6c /span></code>.......function.cal
bcac0 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 20 54 68 l........</p>.......<p>.......Th
bcae0 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 79 73 20 e.following.packages.are.always.
bcb00 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 75 6c 3e available:.......</p>.......<ul>
bcb20 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
bcb40 3d 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
bcb60 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
bcb80 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f k-str">&quot;std&quot;</span>)</
bcba0 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 69 62 72 span></code>.-.Zig.Standard.Libr
bcbc0 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 3c 73 70 ary</li>...........<li><code><sp
bcbe0 61 6e 20 63 6c 61 73 73 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
bcc00 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
bcc20 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f lass="tok-str">&quot;builtin&quo
bcc40 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 72 67 65 t;</span>)</span></code>.-.Targe
bcc60 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 20 20 20 t-specific.information..........
bcc80 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 69 6c 64 .....The.command.<code>zig.build
bcca0 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 74 70 75 -exe.--show-builtin</code>.outpu
bccc0 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 65 66 65 ts.the.source.to.stdout.for.refe
bcce0 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 20 20 20 rence............</li>..........
bcd00 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
bcd20 70 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<
bcd40 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
bcd60 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 2f 63 6f ot;root&quot;</span>)</span></co
bcd80 64 65 3e 20 2d 20 50 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 de>.-.Points.to.the.root.source.
bcda0 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 75 73 75 61 6c file...............This.is.usual
bcdc0 6c 79 20 60 73 72 63 2f 6d 61 69 6e 2e 7a 69 67 60 20 62 75 74 20 69 74 20 64 65 70 65 6e 64 73 ly.`src/main.zig`.but.it.depends
bcde0 20 6f 6e 20 77 68 61 74 20 66 69 6c 65 20 69 73 20 63 68 6f 73 65 6e 20 74 6f 20 62 65 20 62 75 .on.what.file.is.chosen.to.be.bu
bce00 69 6c 74 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e ilt............</li>.......</ul>
bce20 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>
bce40 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 6d <a.href="#Compile-Variables">Com
bce60 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 6c 69 3e 3c 61 20 68 pile.Variables</a></li>.<li><a.h
bce80 72 65 66 3d 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 ref="#embedFile">@embedFile</a><
bcea0 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 64 /li>.</ul>................<h3.id
bcec0 3d 22 69 6e 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 43 61 73 74 ="intCast"><a.href="#toc-intCast
bcee0 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 ">@intCast</a>.<a.class="hdr".hr
bcf00 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ef="#intCast">..</a></h3>.......
bcf20 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"><
bcf40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 span.class="tok-builtin">@intCas
bcf60 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f t</span>(<span.class="tok-kw">co
bcf80 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c mptime</span>.DestType:.<span.cl
bcfa0 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 69 6e 74 3a ass="tok-type">type</span>,.int:
bcfc0 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
bcfe0 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 pan>).DestType</span></code></pr
bd000 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 69 e>.......<p>.......Converts.an.i
bd020 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 20 nteger.to.another.integer.while.
bd040 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 65 keeping.the.same.numerical.value
bd060 2e 0a 20 20 20 20 20 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 20 ........Attempting.to.convert.a.
bd080 6e 75 6d 62 65 72 20 77 68 69 63 68 20 69 73 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 6f 66 20 number.which.is.out.of.range.of.
bd0a0 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 72 65 73 75 6c 74 73 20 69 6e 0a the.destination.type.results.in.
bd0c0 20 20 20 20 20 20 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 72 65 66 3d 22 ......safety-protected.<a.href="
bd0e0 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
bd100 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 ehavior</a>........</p>.......<f
bd120 69 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
bd140 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 7a 69 67 3c 2f 63 "><cite.class="file">test.zig</c
bd160 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
bd180 6e 20 63 6c 61 73 73 3d 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-
bd1a0 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
bd1c0 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 71 -str">&quot;integer.cast.panic&q
bd1e0 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
bd200 3d 22 6c 69 6e 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"
bd220 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 2d >var</span>.a:.<span.class="tok-
bd240 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 22 type">u16</span>.=.<span.class="
bd260 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 6e tok-number">0xabcd</span>;</span
bd280 3e 0a 3c 73 70 61 6e 20 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
bd2a0 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 61 lass="tok-kw">var</span>.b:.<spa
bd2c0 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>.=.<
bd2e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 span.class="tok-builtin">@intCas
bd300 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e t</span>(<span.class="tok-type">
bd320 75 38 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 u8</span>,.a);</span>.<span.clas
bd340 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 73 70 61 6e s="line">...._.=.b;</span>.<span
bd360 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
bd380 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.
bd3a0 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
bd3c0 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
bd3e0 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e ">$.<kbd>zig.test.test.zig</kbd>
bd400 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 </span>.<span.class="line">1/1.t
bd420 65 73 74 20 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 71 75 6f est.&quot;integer.cast.panic&quo
bd440 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 31 34 34 32 32 36 30 20 70 61 6e 69 63 3a 20 69 6e 74 65 t;....thread.1442260.panic:.inte
bd460 67 65 72 20 63 61 73 74 20 74 72 75 6e 63 61 74 65 64 20 62 69 74 73 3c 2f 73 70 61 6e 3e 0a 3c ger.cast.truncated.bits</span>.<
bd480 73 70 61 6e 20 63 6c 61 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
bd4a0 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 1_0">/home/andy/tmp/zig/docgen_t
bd4c0 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 mp/test.zig:3:17</span>:.<span.c
bd4e0 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 38 39 35 20 69 6e 20 74 65 73 74 20 26 71 75 lass="t2_0">0x207895.in.test.&qu
bd500 6f 74 3b 69 6e 74 65 67 65 72 20 63 61 73 74 20 70 61 6e 69 63 26 71 75 6f 74 3b 20 28 74 65 73 ot;integer.cast.panic&quot;.(tes
bd520 74 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 73 73 3d 22 6c 69 t)</span></span>.<span.class="li
bd540 6e 65 22 3e 20 20 20 20 76 61 72 20 62 3a 20 75 38 20 3d 20 40 69 6e 74 43 61 73 74 28 75 38 2c ne">....var.b:.u8.=.@intCast(u8,
bd560 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 6c 69 6e 65 22 3e 20 .a);</span>.<span.class="line">.
bd580 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 33 32 5f ...............<span.class="t32_
bd5a0 31 22 3e 5e 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="
bd5c0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 line"><span.class="t1_0">/home/a
bd5e0 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 74 ndy/tmp/zig/lib/std/special/test
bd600 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 38 30 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 _runner.zig:80:28</span>:.<span.
bd620 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 66 31 30 33 20 69 6e 20 73 74 64 2e 73 70 65 class="t2_0">0x22f103.in.std.spe
bd640 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c cial.main.(test)</span></span>.<
bd660 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 20 65 6c 73 65 span.class="line">........}.else
bd680 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .test_fn.func();</span>.<span.cl
bd6a0 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 20 20 ass="line">.....................
bd6c0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 ......<span.class="t32_1">^</spa
bd6e0 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
bd700 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
bd720 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 ig/lib/std/start.zig:551:22</spa
bd740 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 38 34 37 63 20 n>:.<span.class="t2_0">0x22847c.
bd760 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 in.std.start.callMain.(test)</sp
bd780 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">..
bd7a0 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ..........root.main();</span>.<s
bd7c0 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">...............
bd7e0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 ......<span.class="t32_1">^</spa
bd800 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
bd820 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
bd840 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 ig/lib/std/start.zig:495:12</spa
bd860 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 30 62 65 20 n>:.<span.class="t2_0">0x2090be.
bd880 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 in.std.start.callMainWithArgs.(t
bd8a0 65 73 74 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 73 73 3d 22 est)</span></span>.<span.class="
bd8c0 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 line">....return.@call(.{..modif
bd8e0 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e ier.=..always_inline.},.callMain
bd900 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 6c 69 6e 65 ,..{});</span>.<span.class="line
bd920 22 3e 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 33 32 5f 31 22 ">...........<span.class="t32_1"
bd940 3e 5e 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
bd960 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 ne"><span.class="t1_0">/home/and
bd980 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a y/tmp/zig/lib/std/start.zig:409:
bd9a0 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 17</span>:.<span.class="t2_0">0x
bd9c0 32 30 38 31 35 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 208156.in.std.start.posixCallMai
bd9e0 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 nAndExit.(test)</span></span>.<s
bda00 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 6f 73 2e 65 78 69 74 pan.class="line">....std.os.exit
bda20 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e (@call(.{..modifier.=..always_in
bda40 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 line.},.callMainWithArgs,..{.arg
bda60 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 c,.argv,.envp.}));</span>.<span.
bda80 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 73 70 class="line">................<sp
bdaa0 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e an.class="t32_1">^</span></span>
bdac0 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=
bdae0 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 "t1_0">/home/andy/tmp/zig/lib/st
bdb00 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 d/start.zig:322:5</span>:.<span.
bdb20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 66 36 32 20 69 6e 20 73 74 64 2e 73 74 61 class="t2_0">0x207f62.in.std.sta
bdb40 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c rt._start.(test)</span></span>.<
bdb60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e span.class="line">....@call(.{..
bdb80 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 modifier.=..never_inline.},.posi
bdba0 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c xCallMainAndExit,..{});</span>.<
bdbc0 73 70 61 6e 20 63 6c 61 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
bdbe0 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="t32_1">^</span></span>.<span.
bdc00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e class="line">error:.the.followin
bdc20 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c g.test.command.crashed:</span>.<
bdc40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 span.class="line">docgen_tmp/zig
bdc60 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 36 34 33 64 30 38 66 31 61 63 62 62 31 33 38 36 64 -cache/o/e62d5b643d08f1acbb1386d
bdc80 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 b92eb0f23/test./home/andy/tmp/zi
bdca0 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d g/build-release/zig</span>.</sam
bdcc0 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>.....
bdce0 20 20 54 6f 20 74 72 75 6e 63 61 74 65 20 74 68 65 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 ..To.truncate.the.significant.bi
bdd00 74 73 20 6f 66 20 61 20 6e 75 6d 62 65 72 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 6f 66 20 74 ts.of.a.number.out.of.range.of.t
bdd20 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 20 75 73 65 20 3c 61 20 68 72 65 66 he.destination.type,.use.<a.href
bdd40 3d 22 23 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 2e 0a 20 20 20 20 ="#truncate">@truncate</a>......
bdd60 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 3e ..</p>.......<p>.......If.<code>
bdd80 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
bdda0 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 22 3e 3c e>.is.<code><span.class="line"><
bddc0 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
bdde0 6e 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 20 20 74 nt</span></span></code>,.......t
bde00 68 65 6e 20 74 68 69 73 20 69 73 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 65 71 75 69 76 61 6c hen.this.is.semantically.equival
bde20 65 6e 74 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e ent.to.<a.href="#Type-Coercion">
bde40 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 Type.Coercion</a>........</p>...
bde60 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 54 6f 45 6e 75 6d 22 3e 3c ............<h3.id="intToEnum"><
bde80 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 69 6e 74 54 6f 45 6e a.href="#toc-intToEnum">@intToEn
bdea0 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 6e 74 um</a>.<a.class="hdr".href="#int
bdec0 54 6f 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 70 72 65 3e ToEnum">..</a></h3>........<pre>
bdee0 3c 63 6f 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
bdf00 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 73 lass="tok-builtin">@intToEnum</s
bdf20 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
bdf40 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d me</span>.DestType:.<span.class=
bdf60 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 69 6e 74 65 67 65 72 3a "tok-type">type</span>,.integer:
bdf80 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
bdfa0 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 pan>).DestType</span></code></pr
bdfc0 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 69 e>.......<p>.......Converts.an.i
bdfe0 6e 74 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 nteger.into.an.<a.href="#enum">e
be000 6e 75 6d 3c 2f 61 3e 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 num</a>.value........</p>.......
be020 3c 70 3e 0a 20 20 20 20 20 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 <p>.......Attempting.to.convert.
be040 61 6e 20 69 6e 74 65 67 65 72 20 77 68 69 63 68 20 72 65 70 72 65 73 65 6e 74 73 20 6e 6f 20 76 an.integer.which.represents.no.v
be060 61 6c 75 65 20 69 6e 20 74 68 65 20 63 68 6f 73 65 6e 20 65 6e 75 6d 20 74 79 70 65 20 69 6e 76 alue.in.the.chosen.enum.type.inv
be080 6f 6b 65 73 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 okes.......safety-checked.<a.hre
be0a0 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 65 f="#Undefined-Behavior">Undefine
be0c0 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 d.Behavior</a>........</p>......
be0e0 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
be100 66 3d 22 23 65 6e 75 6d 54 6f 49 6e 74 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c f="#enumToInt">@enumToInt</a></l
be120 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="
be140 69 6e 74 54 6f 45 72 72 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 54 6f 45 intToError"><a.href="#toc-intToE
be160 72 72 6f 72 22 3e 40 69 6e 74 54 6f 45 72 72 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 rror">@intToError</a>.<a.class="
be180 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 72 72 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f hdr".href="#intToError">..</a></
be1a0 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
be1c0 73 3d 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
be1e0 6e 22 3e 40 69 6e 74 54 6f 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 73 74 64 n">@intToError</span>(value:.std
be200 2e 6d 65 74 61 2e 49 6e 74 28 2e 75 6e 73 69 67 6e 65 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 .meta.Int(.unsigned,.<span.class
be220 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 ="tok-builtin">@sizeOf</span>(<s
be240 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 pan.class="tok-type">anyerror</s
be260 70 61 6e 3e 29 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 pan>).*.<span.class="tok-number"
be280 3e 38 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 >8</span>)).<span.class="tok-typ
be2a0 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 3c 2f 63 6f 64 65 3e e">anyerror</span></span></code>
be2c0 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.
be2e0 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 from.the.integer.representation.
be300 6f 66 20 61 6e 20 65 72 72 6f 72 20 69 6e 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 54 68 65 2d 47 of.an.error.into.<a.href="#The-G
be320 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f lobal-Error-Set">The.Global.Erro
be340 72 20 53 65 74 3c 2f 61 3e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 r.Set</a>.type........</p>......
be360 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 72 65 63 6f 6d .<p>.......It.is.generally.recom
be380 6d 65 6e 64 65 64 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 0a 20 20 20 20 20 20 63 61 73 74 2c mended.to.avoid.this.......cast,
be3a0 20 61 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f .as.the.integer.representation.o
be3c0 66 20 61 6e 20 65 72 72 6f 72 20 69 73 20 6e 6f 74 20 73 74 61 62 6c 65 20 61 63 72 6f 73 73 20 f.an.error.is.not.stable.across.
be3e0 73 6f 75 72 63 65 20 63 6f 64 65 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a source.code.changes........</p>.
be400 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 74 6f 20 63 6f ......<p>.......Attempting.to.co
be420 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 63 nvert.an.integer.that.does.not.c
be440 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 61 6e 79 20 65 72 72 6f 72 20 72 65 73 75 6c 74 73 20 69 orrespond.to.any.error.results.i
be460 6e 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 72 65 66 n.......safety-protected.<a.href
be480 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 ="#Undefined-Behavior">Undefined
be4a0 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 .Behavior</a>........</p>.......
be4c0 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
be4e0 3d 22 23 65 72 72 6f 72 54 6f 49 6e 74 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 61 3e 3c 2f ="#errorToInt">@errorToInt</a></
be500 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=
be520 22 69 6e 74 54 6f 46 6c 6f 61 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 54 6f "intToFloat"><a.href="#toc-intTo
be540 46 6c 6f 61 74 22 3e 40 69 6e 74 54 6f 46 6c 6f 61 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d Float">@intToFloat</a>.<a.class=
be560 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 46 6c 6f 61 74 22 3e c2 a7 3c 2f 61 3e 3c "hdr".href="#intToFloat">..</a><
be580 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
be5a0 73 73 3d 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
be5c0 69 6e 22 3e 40 69 6e 74 54 6f 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 in">@intToFloat</span>(<span.cla
be5e0 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 44 65 73 74 ss="tok-kw">comptime</span>.Dest
be600 54 79 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 3e 74 79 70 Type:.<span.class="tok-type">typ
be620 65 3c 2f 73 70 61 6e 3e 2c 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e</span>,.int:.<span.class="tok-
be640 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 65 3c 2f 73 70 kw">anytype</span>).DestType</sp
be660 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>......
be680 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 74 68 65 20 63 6c 6f 73 .Converts.an.integer.to.the.clos
be6a0 65 73 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f est.floating.point.representatio
be6c0 6e 2e 20 54 6f 20 63 6f 6e 76 65 72 74 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 2c 20 75 73 65 n..To.convert.the.other.way,.use
be6e0 20 3c 61 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 74 54 6f 49 .<a.href="#floatToInt">@floatToI
be700 6e 74 3c 2f 61 3e 2e 20 54 68 69 73 20 63 61 73 74 20 69 73 20 61 6c 77 61 79 73 20 73 61 66 65 nt</a>..This.cast.is.always.safe
be720 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
be740 64 3d 22 69 6e 74 54 6f 50 74 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 54 6f d="intToPtr"><a.href="#toc-intTo
be760 50 74 72 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 Ptr">@intToPtr</a>.<a.class="hdr
be780 22 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 50 74 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ".href="#intToPtr">..</a></h3>..
be7a0 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
be7c0 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 69 ne"><span.class="tok-builtin">@i
be7e0 6e 74 54 6f 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 ntToPtr</span>(<span.class="tok-
be800 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 kw">comptime</span>.DestType:.<s
be820 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>
be840 2c 20 61 64 64 72 65 73 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ,.address:.<span.class="tok-type
be860 22 3e 75 73 69 7a 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 ">usize</span>).DestType</span><
be880 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e /code></pre>.......<p>.......Con
be8a0 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 3c 61 20 68 72 65 66 3d 22 23 verts.an.integer.to.a.<a.href="#
be8c0 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 20 54 6f 20 63 6f 6e 76 65 72 Pointers">pointer</a>..To.conver
be8e0 74 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 70 t.the.other.way,.use.<a.href="#p
be900 74 72 54 6f 49 6e 74 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 2e 20 43 61 73 74 69 6e 67 20 trToInt">@ptrToInt</a>..Casting.
be920 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 30 20 74 6f 20 61 20 64 65 73 74 69 6e 61 74 69 6f 6e an.address.of.0.to.a.destination
be940 20 74 79 70 65 0a 20 20 20 20 20 20 77 68 69 63 68 20 69 6e 20 6e 6f 74 20 3c 61 20 68 72 65 66 .type.......which.in.not.<a.href
be960 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 6f 70 74 69 6f 6e 61 6c 3c 2f ="#Optional-Pointers">optional</
be980 61 3e 20 61 6e 64 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c a>.and.does.not.have.the.<code><
be9a0 73 70 61 6e 20 63 6c 61 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
be9c0 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 61 6e 3e 3c 2f ok-kw">allowzero</span></span></
be9e0 63 6f 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 code>.attribute.will.result.in.a
bea00 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e .......<a.href="#Pointer-Cast-In
bea20 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 64 valid-Null">Pointer.Cast.Invalid
bea40 20 4e 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 .Null</a>.panic.when.runtime.saf
bea60 65 74 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 ety.checks.are.enabled........</
bea80 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 20 64 65 73 74 69 6e p>.......<p>.......If.the.destin
beaa0 61 74 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 ation.pointer.type.does.not.allo
beac0 77 20 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 w.address.zero.and.<code><span.c
beae0 6c 61 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 lass="line">address</span></code
beb00 3e 0a 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 >.......is.zero,.this.invokes.sa
beb20 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 64 fety-checked.<a.href="#Undefined
beb40 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
beb60 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 68 33 20 >........</p>...............<h3.
beb80 69 64 3d 22 6d 61 78 69 6d 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 61 78 69 6d id="maximum"><a.href="#toc-maxim
beba0 75 6d 22 3e 40 6d 61 78 69 6d 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 um">@maximum</a>.<a.class="hdr".
bebc0 68 72 65 66 3d 22 23 6d 61 78 69 6d 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 href="#maximum">..</a></h3>.....
bebe0 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"
bec00 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 6d 61 78 69 ><span.class="tok-builtin">@maxi
bec20 6d 75 6d 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 mum</span>(a:.T,.b:.T).T</span><
bec40 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
bec60 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>
bec80 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
beca0 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">
becc0 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
bece0 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
bed00 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
bed20 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
bed40 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>
bed60 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
bed80 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.
beda0 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
bedc0 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
bede0 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
bee00 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
bee20 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 69 6d lso:</p><ul>.<li><a.href="#minim
bee40 75 6d 22 3e 40 6d 69 6e 69 6d 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 um">@minimum</a></li>.<li><a.hre
bee60 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f f="#Vectors">Vectors</a></li>.</
bee80 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 65 6d 63 70 ul>................<h3.id="memcp
beea0 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 65 6d 63 70 79 22 3e 40 6d 65 6d 63 70 79 y"><a.href="#toc-memcpy">@memcpy
beec0 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 65 6d 63 70 </a>.<a.class="hdr".href="#memcp
beee0 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 3c 63 6f 64 65 y">..</a></h3>........<pre><code
bef00 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=
bef20 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 65 6d 63 70 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 "tok-builtin">@memcpy</span>(<sp
bef40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e an.class="tok-kw">noalias</span>
bef60 20 64 65 73 74 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 .dest:.[*]<span.class="tok-type"
bef80 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 6b 77 22 >u8</span>,.<span.class="tok-kw"
befa0 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e 20 73 6f 75 72 63 65 3a 20 5b 2a 5d 3c 73 70 61 6e >noalias</span>.source:.[*]<span
befc0 20 63 6c 61 73 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
befe0 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 62 an.class="tok-type">u8</span>,.b
bf000 79 74 65 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 yte_count:.<span.class="tok-type
bf020 22 3e 75 73 69 7a 65 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 ">usize</span>)</span></code></p
bf040 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
bf060 6e 20 63 6f 70 69 65 73 20 62 79 74 65 73 20 66 72 6f 6d 20 6f 6e 65 20 72 65 67 69 6f 6e 20 6f n.copies.bytes.from.one.region.o
bf080 66 20 6d 65 6d 6f 72 79 20 74 6f 20 61 6e 6f 74 68 65 72 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e f.memory.to.another..<code><span
bf0a0 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 3e .class="line">dest</span></code>
bf0c0 20 61 6e 64 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 73 73 .and...........<code><span.class
bf0e0 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 61 72 65 ="line">source</span></code>.are
bf100 20 62 6f 74 68 20 70 6f 69 6e 74 65 72 73 20 61 6e 64 20 6d 75 73 74 20 6e 6f 74 20 6f 76 65 72 .both.pointers.and.must.not.over
bf120 6c 61 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 lap........</p>.......<p>.......
bf140 54 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 This.function.is.a.low.level.int
bf160 72 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 rinsic.with.no.safety.mechanisms
bf180 2e 20 4d 6f 73 74 20 63 6f 64 65 0a 20 20 20 20 20 20 73 68 6f 75 6c 64 20 6e 6f 74 20 75 73 65 ..Most.code.......should.not.use
bf1a0 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 73 74 65 61 64 20 75 73 69 6e 67 20 73 6f .this.function,.instead.using.so
bf1c0 6d 65 74 68 69 6e 67 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 mething.like.this:.......</p>...
bf1e0 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
bf200 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 70 61 6e "><span.class="tok-kw">for</span
bf220 3e 20 28 73 6f 75 72 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 >.(source[<span.class="tok-numbe
bf240 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 62 79 74 65 5f 63 6f 75 6e 74 5d 29 20 7c 62 2c 20 69 7c r">0</span>..byte_count]).|b,.i|
bf260 20 64 65 73 74 5b 69 5d 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 .dest[i].=.b;</span></code></pre
bf280 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 >.......<p>.......The.optimizer.
bf2a0 69 73 20 69 6e 74 65 6c 6c 69 67 65 6e 74 20 65 6e 6f 75 67 68 20 74 6f 20 74 75 72 6e 20 74 68 is.intelligent.enough.to.turn.th
bf2c0 65 20 61 62 6f 76 65 20 73 6e 69 70 70 65 74 20 69 6e 74 6f 20 61 20 6d 65 6d 63 70 79 2e 0a 20 e.above.snippet.into.a.memcpy...
bf2e0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 72 65 20 69 73 20 61 6c 73 6f .....</p>.......<p>There.is.also
bf300 20 61 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 .a.standard.library.function.for
bf320 20 74 68 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 .this:</p>.......<pre><code><spa
bf340 6e 20 63 6c 61 73 73 3d 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-
bf360 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 63 6c 61 kw">const</span>.mem.=.<span.cla
bf380 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>(
bf3a0 3c 73 70 61 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&
bf3c0 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 61 6e 20 quot;</span>).mem;</span>.<span.
bf3e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 65 6d 2e 63 6f 70 79 28 3c 73 70 61 6e 20 63 6c 61 73 class="line">mem.copy(<span.clas
bf400 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 64 65 73 74 5b 3c 73 70 s="tok-type">u8</span>,.dest[<sp
bf420 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 2e 2e an.class="tok-number">0</span>..
bf440 62 79 74 65 5f 63 6f 75 6e 74 5d 2c 20 73 6f 75 72 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d byte_count],.source[<span.class=
bf460 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 62 79 74 65 5f 63 6f 75 6e "tok-number">0</span>..byte_coun
bf480 74 5d 29 3b 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 0a t]);</span></code></pre>........
bf4a0 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 22 .......<h3.id="memset"><a.href="
bf4c0 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 73 #toc-memset">@memset</a>.<a.clas
bf4e0 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 68 s="hdr".href="#memset">..</a></h
bf500 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
bf520 3d 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
bf540 22 3e 40 6d 65 6d 73 65 74 3c 2f 73 70 61 6e 3e 28 64 65 73 74 3a 20 5b 2a 5d 3c 73 70 61 6e 20 ">@memset</span>(dest:.[*]<span.
bf560 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 63 3a 20 3c class="tok-type">u8</span>,.c:.<
bf580 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>,
bf5a0 20 62 79 74 65 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 .byte_count:.<span.class="tok-ty
bf5c0 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c pe">usize</span>)</span></code><
bf5e0 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
bf600 69 6f 6e 20 73 65 74 73 20 61 20 72 65 67 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f 20 3c ion.sets.a.region.of.memory.to.<
bf620 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 3c 2f 73 70 61 6e 3e code><span.class="line">c</span>
bf640 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 65 </code>..<code><span.class="line
bf660 22 3e 64 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 70 6f 69 6e 74 65 ">dest</span></code>.is.a.pointe
bf680 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 r........</p>.......<p>.......Th
bf6a0 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 69 is.function.is.a.low.level.intri
bf6c0 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 2e 20 nsic.with.no.safety.mechanisms..
bf6e0 4d 6f 73 74 0a 20 20 20 20 20 20 63 6f 64 65 20 73 68 6f 75 6c 64 20 6e 6f 74 20 75 73 65 20 74 Most.......code.should.not.use.t
bf700 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 73 74 65 61 64 20 75 73 69 6e 67 20 73 6f 6d 65 his.function,.instead.using.some
bf720 74 68 69 6e 67 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 thing.like.this:.......</p>.....
bf740 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">
bf760 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>.
bf780 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 22 3e 30 (dest[<span.class="tok-number">0
bf7a0 3c 2f 73 70 61 6e 3e 2e 2e 62 79 74 65 5f 63 6f 75 6e 74 5d 29 20 7c 2a 62 7c 20 62 2e 2a 20 3d </span>..byte_count]).|*b|.b.*.=
bf7c0 20 63 3b 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 .c;</span></code></pre>.......<p
bf7e0 3e 0a 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 69 73 20 69 6e 74 65 6c 6c 69 >.......The.optimizer.is.intelli
bf800 67 65 6e 74 20 65 6e 6f 75 67 68 20 74 6f 20 74 75 72 6e 20 74 68 65 20 61 62 6f 76 65 20 73 6e gent.enough.to.turn.the.above.sn
bf820 69 70 70 65 74 20 69 6e 74 6f 20 61 20 6d 65 6d 73 65 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ippet.into.a.memset........</p>.
bf840 20 20 20 20 20 20 3c 70 3e 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 73 74 61 6e 64 61 72 ......<p>There.is.also.a.standar
bf860 64 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 3a 3c 2f 70 3e d.library.function.for.this:</p>
bf880 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
bf8a0 69 6e 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<
bf8c0 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 75 /span>.mem.=.<span.class="tok-bu
bf8e0 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
bf900 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
bf920 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 6e n>).mem;</span>.<span.class="lin
bf940 65 22 3e 6d 65 6d 2e 73 65 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 e">mem.set(<span.class="tok-type
bf960 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 64 65 73 74 2c 20 63 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 ">u8</span>,.dest,.c);</span></c
bf980 6f 64 65 3e 3c 2f 70 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 ode></pre>...............<h3.id=
bf9a0 22 6d 69 6e 69 6d 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 69 6e 69 6d 75 6d 22 "minimum"><a.href="#toc-minimum"
bf9c0 3e 40 6d 69 6e 69 6d 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 >@minimum</a>.<a.class="hdr".hre
bf9e0 66 3d 22 23 6d 69 6e 69 6d 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 f="#minimum">..</a></h3>........
bfa00 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
bfa20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 69 6e 69 6d 75 6d pan.class="tok-builtin">@minimum
bfa40 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 2f 63 6f </span>(a:.T,.b:.T).T</span></co
bfa60 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 75 72 6e de></pre>.......<p>.......Return
bfa80 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 64 65 3e 3c 73 70 s.the.minimum.value.of.<code><sp
bfaa0 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 20 an.class="line">a</span></code>.
bfac0 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 62 3c 2f and.<code><span.class="line">b</
bfae0 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 63 65 70 span></code>..This.builtin.accep
bfb00 74 73 20 69 6e 74 65 67 65 72 73 2c 20 66 6c 6f 61 74 73 2c 20 61 6e 64 20 76 65 63 74 6f 72 73 ts.integers,.floats,.and.vectors
bfb20 20 6f 66 20 65 69 74 68 65 72 2e 20 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c 20 .of.either..In.the.latter.case,.
bfb40 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 65 6c 65 6d 65 the.operation.is.performed.eleme
bfb60 6e 74 20 77 69 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 nt.wise........</p>.......<p>...
bfb80 20 20 20 20 4e 61 4e 73 20 61 72 65 20 68 61 6e 64 6c 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a ....NaNs.are.handled.as.follows:
bfba0 20 69 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 73 20 6f 66 20 61 20 28 70 61 .if.one.of.the.operands.of.a.(pa
bfbc0 69 72 77 69 73 65 29 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 4e 61 4e 2c 20 74 68 65 20 6f 74 irwise).operation.is.NaN,.the.ot
bfbe0 68 65 72 20 6f 70 65 72 61 6e 64 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 49 66 20 62 6f 74 68 her.operand.is.returned..If.both
bfc00 20 6f 70 65 72 61 6e 64 73 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 73 20 72 65 74 75 72 6e .operands.are.NaN,.NaN.is.return
bfc20 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f ed........</p>.......<p>See.also
bfc40 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 61 78 69 6d 75 6d 22 :</p><ul>.<li><a.href="#maximum"
bfc60 3e 40 6d 61 78 69 6d 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 >@maximum</a></li>.<li><a.href="
bfc80 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 6c 3e #Vectors">Vectors</a></li>.</ul>
bfca0 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 61 73 6d 4d 65 6d 6f ................<h3.id="wasmMemo
bfcc0 72 79 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 rySize"><a.href="#toc-wasmMemory
bfce0 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 20 3c 61 20 63 6c 61 Size">@wasmMemorySize</a>.<a.cla
bfd00 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 79 53 69 7a 65 22 3e ss="hdr".href="#wasmMemorySize">
bfd20 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
bfd40 70 61 6e 20 63 6c 61 73 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
bfd60 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 73 70 61 6e k-builtin">@wasmMemorySize</span
bfd80 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e >(index:.<span.class="tok-type">
bfda0 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 u32</span>).<span.class="tok-typ
bfdc0 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 3c 2f 70 72 65 e">u32</span></span></code></pre
bfde0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 >.......<p>.......This.function.
bfe00 72 65 74 75 72 6e 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 57 61 73 6d 20 6d 65 6d returns.the.size.of.the.Wasm.mem
bfe20 6f 72 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 ory.identified.by.<code><span.cl
bfe40 61 73 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 ass="line">index</span></code>.a
bfe60 73 0a 20 20 20 20 20 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 76 61 6c 75 65 20 69 6e 20 75 6e 69 s.......an.unsigned.value.in.uni
bfe80 74 73 20 6f 66 20 57 61 73 6d 20 70 61 67 65 73 2e 20 4e 6f 74 65 20 74 68 61 74 20 65 61 63 68 ts.of.Wasm.pages..Note.that.each
bfea0 20 57 61 73 6d 20 70 61 67 65 20 69 73 20 36 34 4b 42 20 69 6e 20 73 69 7a 65 2e 0a 20 20 20 20 .Wasm.page.is.64KB.in.size......
bfec0 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
bfee0 74 69 6f 6e 20 69 73 20 61 20 6c 6f 77 20 6c 65 76 65 6c 20 69 6e 74 72 69 6e 73 69 63 20 77 69 tion.is.a.low.level.intrinsic.wi
bff00 74 68 20 6e 6f 20 73 61 66 65 74 79 20 6d 65 63 68 61 6e 69 73 6d 73 20 75 73 75 61 6c 6c 79 20 th.no.safety.mechanisms.usually.
bff20 75 73 65 66 75 6c 20 66 6f 72 20 61 6c 6c 6f 63 61 74 6f 72 0a 20 20 20 20 20 20 64 65 73 69 67 useful.for.allocator.......desig
bff40 6e 65 72 73 20 74 61 72 67 65 74 69 6e 67 20 57 61 73 6d 2e 20 53 6f 20 75 6e 6c 65 73 73 20 79 ners.targeting.Wasm..So.unless.y
bff60 6f 75 20 61 72 65 20 77 72 69 74 69 6e 67 20 61 20 6e 65 77 20 61 6c 6c 6f 63 61 74 6f 72 20 66 ou.are.writing.a.new.allocator.f
bff80 72 6f 6d 20 73 63 72 61 74 63 68 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 73 65 0a 20 20 20 20 rom.scratch,.you.should.use.....
bffa0 20 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ..something.like.<code><span.cla
bffc0 73 73 3d 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
bffe0 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="
c0000 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>)
c0020 2e 68 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 .heap.WasmPageAllocator</span></
c0040 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 code>........</p>.......<p>See.a
c0060 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 77 61 73 6d 4d lso:</p><ul>.<li><a.href="#wasmM
c0080 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 3c 2f emoryGrow">@wasmMemoryGrow</a></
c00a0 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=
c00c0 22 77 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 "wasmMemoryGrow"><a.href="#toc-w
c00e0 61 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 asmMemoryGrow">@wasmMemoryGrow</
c0100 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 61 73 6d 4d 65 6d a>.<a.class="hdr".href="#wasmMem
c0120 6f 72 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 oryGrow">..</a></h3>........<pre
c0140 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.
c0160 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 79 47 class="tok-builtin">@wasmMemoryG
c0180 72 6f 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 row</span>(index:.<span.class="t
c01a0 6f 6b 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 ok-type">u32</span>,.delta:.<spa
c01c0 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 20 3c n.class="tok-type">u32</span>).<
c01e0 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>
c0200 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>..
c0220 20 20 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 .....This.function.increases.the
c0240 20 73 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 .size.of.the.Wasm.memory.identif
c0260 69 65 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 ied.by.<code><span.class="line">
c0280 69 6e 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 index</span></code>.by.......<co
c02a0 64 65 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 de><span.class="line">delta</spa
c02c0 6e 3e 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 n></code>.in.units.of.unsigned.n
c02e0 75 6d 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 umber.of.Wasm.pages..Note.that.e
c0300 61 63 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 ach.Wasm.page.......is.64KB.in.s
c0320 69 7a 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 ize..On.success,.returns.previou
c0340 73 20 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 s.memory.size;.on.failure,.if.th
c0360 65 20 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 e.allocation.fails,.......return
c0380 73 20 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 s.-1........</p>.......<p>......
c03a0 20 54 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 .This.function.is.a.low.level.in
c03c0 74 72 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 trinsic.with.no.safety.mechanism
c03e0 73 20 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 s.usually.useful.for.allocator..
c0400 20 20 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 .....designers.targeting.Wasm..S
c0420 6f 20 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 o.unless.you.are.writing.a.new.a
c0440 6c 6c 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 llocator.from.scratch,.you.shoul
c0460 64 20 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 d.use.......something.like.<code
c0480 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=
c04a0 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
c04c0 61 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
c04e0 74 3b 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 t;</span>).heap.WasmPageAllocato
c0500 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 70 3e 0a 20 20 20 20 r</span></code>........</p>.....
c0520 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
c0540 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 61 73 6d 4d 65 6d -cap"><cite.class="file">wasmMem
c0560 6f 72 79 47 72 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 oryGrow.zig</cite></figcaption><
c0580 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
c05a0 61 6e 20 63 6c 61 73 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
c05c0 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">@
c05e0 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
c0600 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
c0620 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
c0640 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 74 69 76 65 5f ss="tok-kw">const</span>.native_
c0660 61 72 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 arch.=.<span.class="tok-builtin"
c0680 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
c06a0 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 3e -str">&quot;builtin&quot;</span>
c06c0 29 2e 74 61 72 67 65 74 2e 63 70 75 2e 61 72 63 68 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ).target.cpu.arch;</span>.<span.
c06e0 63 6c 61 73 73 3d 22 6c 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
c0700 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
c0720 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="
c0740 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"
c0760 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
c0780 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 77 >.<span.class="tok-str">&quot;@w
c07a0 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 asmMemoryGrow&quot;</span>.{</sp
c07c0 61 6e 3e 0a 3c 73 70 61 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
c07e0 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 6e 61 74 69 76 .class="tok-kw">if</span>.(nativ
c0800 65 5f 61 72 63 68 20 21 3d 20 2e 77 61 73 6d 33 32 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e_arch.!=..wasm32).<span.class="
c0820 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
c0840 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 s="tok-kw">error</span>.SkipZigT
c0860 65 73 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 est;</span>.<span.class="line"><
c0880 2f 73 70 61 6e 3e 0a 3c 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
c08a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 72 pan.class="tok-kw">var</span>.pr
c08c0 65 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 ev.=.<span.class="tok-builtin">@
c08e0 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 wasmMemorySize</span>(<span.clas
c0900 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>
c0920 0a 3c 73 70 61 6e 20 63 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
c0940 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
c0960 72 65 76 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 rev.==.<span.class="tok-builtin"
c0980 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c >@wasmMemoryGrow</span>(<span.cl
c09a0 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 20 3c 73 70 61 6e ass="tok-number">0</span>,.<span
c09c0 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 3b 3c .class="tok-number">1</span>));<
c09e0 2f 73 70 61 6e 3e 0a 3c 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
c0a00 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
c0a20 70 65 63 74 28 70 72 65 76 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d pect(prev.+.<span.class="tok-num
c0a40 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ber">1</span>.==.<span.class="to
c0a60 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 3c 2f 73 70 61 6e k-builtin">@wasmMemorySize</span
c0a80 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 70 >(<span.class="tok-number">0</sp
c0aa0 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"
c0ac0 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><
c0ae0 66 69 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-
c0b00 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
c0b20 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
c0b40 74 65 73 74 20 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 test.wasmMemoryGrow.zig</kbd></s
c0b60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 pan>.<span.class="line">1/1.test
c0b80 20 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 2e 2e 2e 20 .&quot;@wasmMemoryGrow&quot;....
c0ba0 74 65 73 74 20 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 test.&quot;@wasmMemoryGrow&quot;
c0bc0 2e 2e 2e 20 53 4b 49 50 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ....SKIP</span>.<span.class="lin
c0be0 65 22 3e 53 4b 49 50 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 e">SKIP</span>.<span.class="line
c0c00 22 3e 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 64 2e ">0.passed;.1.skipped;.0.failed.
c0c20 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
c0c40 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
c0c60 20 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 22 3e 40 77 61 73 6d 4d 65 6d .href="#wasmMemorySize">@wasmMem
c0c80 6f 72 79 53 69 7a 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a orySize</a></li>.</ul>..........
c0ca0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 6f 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ......<h3.id="mod"><a.href="#toc
c0cc0 2d 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 -mod">@mod</a>.<a.class="hdr".hr
c0ce0 65 66 3d 22 23 6d 6f 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 ef="#mod">..</a></h3>........<pr
c0d00 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
c0d20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e .class="tok-builtin">@mod</span>
c0d40 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 (numerator:.T,.denominator:.T).T
c0d60 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>..
c0d80 20 20 20 20 20 4d 6f 64 75 6c 75 73 20 64 69 76 69 73 69 6f 6e 2e 20 46 6f 72 20 75 6e 73 69 67 .....Modulus.division..For.unsig
c0da0 6e 65 64 20 69 6e 74 65 67 65 72 73 20 74 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 ned.integers.this.is.the.same.as
c0dc0 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">
c0de0 6e 75 6d 65 72 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 numerator.%.denominator</span></
c0e00 63 6f 64 65 3e 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 code>..Caller.guarantees.<code><
c0e20 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 74 6f 72 20 26 67 span.class="line">denominator.&g
c0e40 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 73 t;.<span.class="tok-number">0</s
c0e60 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 65 20 74 68 pan></span></code>,.otherwise.th
c0e80 65 0a 20 20 20 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 e.......operation.will.result.in
c0ea0 20 61 20 3c 61 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 .a.<a.href="#Remainder-Division-
c0ec0 62 79 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 by-Zero">Remainder.Division.by.Z
c0ee0 65 72 6f 3c 2f 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 ero</a>.when.runtime.safety.chec
c0f00 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 0a 20 20 20 20 20 ks.are.enabled........</p>......
c0f20 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 20 .<ul>...........<li><code><span.
c0f40 63 6c 61 73 73 3d 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
c0f60 69 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d iltin">@mod</span>(-<span.class=
c0f80 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">5</span>,.<span.cla
c0fa0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 ss="tok-number">3</span>).==.<sp
c0fc0 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></
c0fe0 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>
c1000 3c 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 70 61 6e 20 <code><span.class="line">(<span.
c1020 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 3c 2f 73 class="tok-builtin">@divFloor</s
c1040 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>(a,.b).*.b).+.<span.class="t
c1060 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 3d 3d ok-builtin">@mod</span>(a,.b).==
c1080 20 61 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 75 6c .a</span></code></li>.......</ul
c10a0 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 >.......<p>For.a.function.that.r
c10c0 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 73 65 65 20 3c 63 6f 64 65 3e eturns.an.error.code,.see.<code>
c10e0 3c 73 70 61 6e 20 63 6c 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="
c1100 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
c1120 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
c1140 3b 3c 2f 73 70 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 ;</span>).math.mod</span></code>
c1160 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e .</p>.......<p>See.also:</p><ul>
c1180 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 3e 3c 2f 6c 69 .<li><a.href="#rem">@rem</a></li
c11a0 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 6d >.</ul>................<h3.id="m
c11c0 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 75 ulWithOverflow"><a.href="#toc-mu
c11e0 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c lWithOverflow">@mulWithOverflow<
c1200 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 57 69 74 /a>.<a.class="hdr".href="#mulWit
c1220 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 hOverflow">..</a></h3>........<p
c1240 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
c1260 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 74 68 4f 76 n.class="tok-builtin">@mulWithOv
c1280 65 72 66 6c 6f 77 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 erflow</span>(<span.class="tok-k
c12a0 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 w">comptime</span>.T:.<span.clas
c12c0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 s="tok-type">type</span>,.a:.T,.
c12e0 62 3a 20 54 2c 20 72 65 73 75 6c 74 3a 20 2a 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 b:.T,.result:.*T).<span.class="t
c1300 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
c1320 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 72 66 6f 72 6d e></pre>.......<p>.......Perform
c1340 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 72 65 73 75 6c s.<code><span.class="line">resul
c1360 74 2e 2a 20 3d 20 61 20 2a 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 6f 76 t.*.=.a.*.b</span></code>..If.ov
c1380 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 erflow.or.underflow.occurs,.....
c13a0 20 20 20 20 20 20 73 74 6f 72 65 73 20 74 68 65 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 ......stores.the.overflowed.bits
c13c0 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 72 65 73 .in.<code><span.class="line">res
c13e0 75 6c 74 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 20 3c 63 ult</span></code>.and.returns.<c
c1400 6f 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
c1420 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>
c1440 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f </code>....................If.no
c1460 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 20 72 .overflow.or.underflow.occurs,.r
c1480 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 65 22 3e eturns.<code><span.class="line">
c14a0 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
c14c0 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>...
c14e0 20 20 20 20 0a 0a 20 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 ............<h3.id="panic"><a.hr
c1500 65 66 3d 22 23 74 6f 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 ef="#toc-panic">@panic</a>.<a.cl
c1520 61 73 73 3d 22 68 64 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 ass="hdr".href="#panic">..</a></
c1540 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
c1560 73 3d 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
c1580 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 6d 65 73 73 61 67 65 3a 20 5b 5d 3c 73 70 61 n">@panic</span>(message:.[]<spa
c15a0 6e 20 63 6c 61 73 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
c15c0 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>).
c15e0 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 3c <span.class="tok-type">noreturn<
c1600 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>......
c1620 20 3c 70 3e 0a 20 20 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 .<p>.......Invokes.the.panic.han
c1640 64 6c 65 72 20 66 75 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 dler.function..By.default.the.pa
c1660 6e 69 63 20 68 61 6e 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 nic.handler.function.......calls
c1680 20 74 68 65 20 70 75 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 .the.public.<code><span.class="l
c16a0 69 6e 65 22 3e 70 61 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 ine">panic</span></code>.functio
c16c0 6e 20 65 78 70 6f 73 65 64 20 69 6e 20 74 68 65 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c n.exposed.in.the.root.source.fil
c16e0 65 2c 20 6f 72 0a 20 20 20 20 20 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 74 20 6f 6e 65 20 e,.or.......if.there.is.not.one.
c1700 73 70 65 63 69 66 69 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 specified,.the.<code><span.class
c1720 3d 22 6c 69 6e 65 22 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 ="line">std.builtin.default_pani
c1740 63 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 66 c</span></code>.......function.f
c1760 72 6f 6d 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 rom.<code><span.class="line">std
c1780 2f 62 75 69 6c 74 69 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 /builtin.zig</span></code>......
c17a0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 47 65 6e 65 72 61 6c 6c 79 20 69 74 20 69 73 20 ..</p>.......<p>Generally.it.is.
c17c0 62 65 74 74 65 72 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d better.to.use.<code><span.class=
c17e0 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"
c1800 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
c1820 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
c1840 62 75 67 2e 70 61 6e 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 bug.panic</span></code>.........
c1860 20 20 20 48 6f 77 65 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 ...However,.<code><span.class="l
c1880 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">@
c18a0 70 61 6e 69 63 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 panic</span></span></code>.can.b
c18c0 65 20 75 73 65 66 75 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 e.useful.for.2.scenarios:.......
c18e0 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 46 72 6f 6d </p>.......<ul>.........<li>From
c1900 20 6c 69 62 72 61 72 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 .library.code,.calling.the.progr
c1920 61 6d 6d 65 72 27 73 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 ammer's.panic.function.if.they.e
c1940 78 70 6f 73 65 64 20 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 xposed.one.in.the.root.source.fi
c1960 6c 65 2e 3c 2f 6c 69 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 le.</li>.........<li>When.mixing
c1980 20 43 20 61 6e 64 20 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 .C.and.Zig.code,.calling.the.can
c19a0 6f 6e 69 63 61 6c 20 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 onical.panic.implementation.acro
c19c0 73 73 20 6d 75 6c 74 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 ss.multiple..o.files.</li>......
c19e0 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 70 3e 3c 75 6c .</ul>.......<p>See.also:</p><ul
c1a00 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 46 69 6c 65 >.<li><a.href="#Root-Source-File
c1a20 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 3c 2f 75 6c ">Root.Source.File</a></li>.</ul
c1a40 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 6f 70 43 6f 75 6e >................<h3.id="popCoun
c1a60 74 22 3e 3c 61 20 68 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 t"><a.href="#toc-popCount">@popC
c1a80 6f 75 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 ount</a>.<a.class="hdr".href="#p
c1aa0 6f 70 43 6f 75 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 72 65 opCount">..</a></h3>........<pre
c1ac0 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.
c1ae0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 73 class="tok-builtin">@popCount</s
c1b00 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
c1b20 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
c1b40 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 6f 70 65 72 61 6e 64 3a 20 54 29 3c 2f 73 70 pe">type</span>,.operand:.T)</sp
c1b60 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>
c1b80 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
c1ba0 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 70 3e 0a e>.must.be.an.integer.type.</p>.
c1bc0 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 65 ......<p><code><span.class="line
c1be0 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 65 20 61 ">operand</span></code>.may.be.a
c1c00 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 3c 2f 61 n.<a.href="#Integers">integer</a
c1c20 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 72 3c 2f >.or.<a.href="#Vectors">vector</
c1c40 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 a>.</p>.......<p>Counts.the.numb
c1c60 65 72 20 6f 66 20 62 69 74 73 20 73 65 74 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 2e 3c 2f 70 er.of.bits.set.in.an.integer.</p
c1c80 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 3e 3c 73 70 61 6e >.......<p>.......If.<code><span
c1ca0 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
c1cc0 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 65 22 3e 63 6f 6d de>.is.a.<a.href="#comptime">com
c1ce0 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 20 20 20 20 20 74 ptime</a>-known.integer,.......t
c1d00 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 70 61 6e 20 63 6c he.return.type.is.<code><span.cl
c1d20 61 73 73 3d 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
c1d40 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 3c 2f 63 6f ">comptime_int</span></span></co
c1d60 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 72 65 74 75 72 6e de>........Otherwise,.the.return
c1d80 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 65 72 20 6f 72 20 .type.is.an.unsigned.integer.or.
c1da0 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 73 20 77 69 74 68 vector.of.unsigned.integers.with
c1dc0 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 6f 66 20 62 69 74 .the.minimum.number.......of.bit
c1de0 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 69 74 20 63 6f 75 s.that.can.represent.the.bit.cou
c1e00 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 20 20 20 20 3c 2f nt.of.the.integer.type........</
c1e20 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c p>.......<p>See.also:</p><ul>.<l
c1e40 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c i><a.href="#ctz">@ctz</a></li>.<
c1e60 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 3c 2f 6c 69 3e 0a li><a.href="#clz">@clz</a></li>.
c1e80 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 70 72 65 </ul>................<h3.id="pre
c1ea0 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 74 63 68 22 3e 40 fetch"><a.href="#toc-prefetch">@
c1ec0 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 22 20 68 72 65 66 prefetch</a>.<a.class="hdr".href
c1ee0 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 20 20 20 20 20 20 ="#prefetch">..</a></h3>........
c1f00 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
c1f20 70 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 72 65 66 65 74 63 pan.class="tok-builtin">@prefetc
c1f40 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 22 74 6f 6b 2d 6b h</span>(ptr:.<span.class="tok-k
c1f60 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 73 3d 22 w">anytype</span>,.<span.class="
c1f80 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 69 6f 6e 73 3a tok-kw">comptime</span>.options:
c1fa0 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 6e 73 29 3c 2f 73 .std.builtin.PrefetchOptions)</s
c1fc0 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>.....
c1fe0 20 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 74 65 6c 6c 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 ..This.builtin.tells.the.compile
c2000 72 20 74 6f 20 65 6d 69 74 20 61 20 70 72 65 66 65 74 63 68 20 69 6e 73 74 72 75 63 74 69 6f 6e r.to.emit.a.prefetch.instruction
c2020 20 69 66 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 74 61 72 67 65 .if.supported.by.the.......targe
c2040 74 20 43 50 55 2e 20 49 66 20 74 68 65 20 74 61 72 67 65 74 20 43 50 55 20 64 6f 65 73 20 6e 6f t.CPU..If.the.target.CPU.does.no
c2060 74 20 73 75 70 70 6f 72 74 20 74 68 65 20 72 65 71 75 65 73 74 65 64 20 70 72 65 66 65 74 63 68 t.support.the.requested.prefetch
c2080 20 69 6e 73 74 72 75 63 74 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 69 73 20 62 75 69 6c 74 69 6e .instruction,.......this.builtin
c20a0 20 69 73 20 61 20 6e 6f 6f 70 2e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 6e 6f .is.a.noop..This.function.has.no
c20c0 20 65 66 66 65 63 74 20 6f 6e 20 74 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74 68 65 20 70 .effect.on.the.behavior.of.the.p
c20e0 72 6f 67 72 61 6d 2c 0a 20 20 20 20 20 20 6f 6e 6c 79 20 6f 6e 20 74 68 65 20 70 65 72 66 6f 72 rogram,.......only.on.the.perfor
c2100 6d 61 6e 63 65 20 63 68 61 72 61 63 74 65 72 69 73 74 69 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 mance.characteristics........</p
c2120 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 61 >.......<p>.......The.<code><spa
c2140 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 2f 63 6f 64 65 3e n.class="line">ptr</span></code>
c2160 20 61 72 67 75 6d 65 6e 74 20 6d 61 79 20 62 65 20 61 6e 79 20 70 6f 69 6e 74 65 72 20 74 79 70 .argument.may.be.any.pointer.typ
c2180 65 20 61 6e 64 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 6d 65 6d 6f 72 79 0a 20 20 20 20 e.and.determines.the.memory.....
c21a0 20 20 61 64 64 72 65 73 73 20 74 6f 20 70 72 65 66 65 74 63 68 2e 20 54 68 69 73 20 66 75 6e 63 ..address.to.prefetch..This.func
c21c0 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 64 65 72 65 66 65 72 65 6e 63 65 20 74 68 65 20 70 6f tion.does.not.dereference.the.po
c21e0 69 6e 74 65 72 2c 20 69 74 20 69 73 20 70 65 72 66 65 63 74 6c 79 20 6c 65 67 61 6c 0a 20 20 20 inter,.it.is.perfectly.legal....
c2200 20 20 20 74 6f 20 70 61 73 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 69 6e 76 61 6c 69 64 20 ...to.pass.a.pointer.to.invalid.
c2220 6d 65 6d 6f 72 79 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 6e 6f 20 69 memory.to.this.function.and.no.i
c2240 6c 6c 65 67 61 6c 20 62 65 68 61 76 69 6f 72 20 77 69 6c 6c 20 72 65 73 75 6c 74 2e 0a 20 20 20 llegal.behavior.will.result.....
c2260 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 3c 63 6f 64 ...</p>.......<p>.......The.<cod
c2280 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 6f 6e 73 3c 2f 73 70 e><span.class="line">options</sp
c22a0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 66 6f 6c 6c 6f an></code>.argument.is.the.follo
c22c0 77 69 6e 67 20 73 74 72 75 63 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 wing.struct:.......</p>.......<f
c22e0 69 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
c2300 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 69 6e 2e 7a 69 67 "><cite.class="file">builtin.zig
c2320 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><
c2340 73 70 61 6e 20 63 6c 61 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
c2360 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 68 69 73 20 64 61 74 61 20 73 74 72 75 63 74 ok-comment">///.This.data.struct
c2380 75 72 65 20 69 73 20 75 73 65 64 20 62 79 20 74 68 65 20 5a 69 67 20 6c 61 6e 67 75 61 67 65 20 ure.is.used.by.the.Zig.language.
c23a0 63 6f 64 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e code.generation.and</span></span
c23c0 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
c23e0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 74 68 65 72 65 66 6f 72 65 20 6d 75 73 ="tok-comment">///.therefore.mus
c2400 74 20 62 65 20 6b 65 70 74 20 69 6e 20 73 79 6e 63 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 69 t.be.kept.in.sync.with.the.compi
c2420 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ler.implementation.</span></span
c2440 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
c2460 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
c2480 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 72 65 66 65 74 63 68 4f ="tok-kw">const</span>.PrefetchO
c24a0 70 74 69 6f 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 73 74 ptions.=.<span.class="tok-kw">st
c24c0 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
c24e0 3d 22 6c 69 6e 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
c2500 6d 65 6e 74 22 3e 2f 2f 2f 20 57 68 65 74 68 65 72 20 74 68 65 20 70 72 65 66 65 74 63 68 20 73 ment">///.Whether.the.prefetch.s
c2520 68 6f 75 6c 64 20 70 72 65 70 61 72 65 20 66 6f 72 20 61 20 72 65 61 64 20 6f 72 20 61 20 77 72 hould.prepare.for.a.read.or.a.wr
c2540 69 74 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 ite.</span></span>.<span.class="
c2560 6c 69 6e 65 22 3e 20 20 20 20 72 77 3a 20 52 77 20 3d 20 2e 72 65 61 64 2c 3c 2f 73 70 61 6e 3e line">....rw:.Rw.=..read,</span>
c2580 0a 3c 73 70 61 6e 20 63 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
c25a0 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 65 61 6e 73 20 6e 6f ass="tok-comment">///.0.means.no
c25c0 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 68 65 .temporal.locality..That.is,.the
c25e0 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 2f 73 70 61 6e 3e 3c .data.can.be.immediately</span><
c2600 2f 73 70 61 6e 3e 0a 3c 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
c2620 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 64 72 6f 70 pan.class="tok-comment">///.drop
c2640 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 69 74 20 69 73 20 61 ped.from.the.cache.after.it.is.a
c2660 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 70 61 6e 20 63 6c 61 ccessed.</span></span>.<span.cla
c2680 73 73 3d 22 6c 69 6e 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
c26a0 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 0a 3c 73 70 61 6e 20 omment">///</span></span>.<span.
c26c0 63 6c 61 73 73 3d 22 6c 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
c26e0 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 67 68 20 74 65 6d 70 k-comment">///.3.means.high.temp
c2700 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 68 65 20 64 61 74 61 oral.locality..That.is,.the.data
c2720 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 3c 2f 73 70 61 6e 3e .should.be.kept.in</span></span>
c2740 0a 3c 73 70 61 6e 20 63 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
c2760 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 20 63 61 63 68 65 20 ass="tok-comment">///.the.cache.
c2780 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 65 73 73 65 64 20 61 as.it.is.likely.to.be.accessed.a
c27a0 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 3c 73 70 61 6e 20 63 gain.soon.</span></span>.<span.c
c27c0 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 20 3c 73 70 61 6e 20 lass="line">....locality:.<span.
c27e0 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 70 class="tok-type">u2</span>.=.<sp
c2800 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 2c 3c an.class="tok-number">3</span>,<
c2820 2f 73 70 61 6e 3e 0a 3c 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
c2840 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 65 20 pan.class="tok-comment">///.The.
c2860 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 68 6f 75 6c 64 20 62 cache.that.the.prefetch.should.b
c2880 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 70 61 6e 3e 0a 3c 73 e.preformed.on.</span></span>.<s
c28a0 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 65 3a 20 43 61 63 68 pan.class="line">....cache:.Cach
c28c0 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 6c 61 73 73 3d 22 6c e.=..data,</span>.<span.class="l
c28e0 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">
c2900 20 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
c2920 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</
c2940 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 6f 6b 2d 6b 77 22 3e span>.Rw.=.<span.class="tok-kw">
c2960 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 73 enum</span>.{</span>.<span.class
c2980 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 72 65 61 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ="line">........read,</span>.<sp
c29a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 77 72 69 74 65 2c 3c 2f an.class="line">........write,</
c29c0 73 70 61 6e 3e 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">....};<
c29e0 2f 73 70 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
c2a00 3e 0a 3c 73 70 61 6e 20 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
c2a20 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
c2a40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 61 63 68 65 lass="tok-kw">const</span>.Cache
c2a60 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
c2a80 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">
c2aa0 20 20 20 20 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ........instruction,</span>.<spa
c2ac0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 64 61 74 61 2c 3c 2f 73 70 n.class="line">........data,</sp
c2ae0 61 6e 3e 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 an>.<span.class="line">....};</s
c2b00 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
c2b20 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 0a ></code></pre></figure>.........
c2b40 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 74 72 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 ......<h3.id="ptrCast"><a.href="
c2b60 23 74 6f 63 2d 70 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c #toc-ptrCast">@ptrCast</a>.<a.cl
c2b80 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e c2 a7 3c 2f 61 3e ass="hdr".href="#ptrCast">..</a>
c2ba0 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
c2bc0 61 73 73 3d 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
c2be0 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 tin">@ptrCast</span>(<span.class
c2c00 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 44 65 73 74 54 79 ="tok-kw">comptime</span>.DestTy
c2c20 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 3e 74 79 70 65 3c pe:.<span.class="tok-type">type<
c2c40 2f 73 70 61 6e 3e 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 /span>,.value:.<span.class="tok-
c2c60 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 65 3c 2f 73 70 kw">anytype</span>).DestType</sp
c2c80 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>......
c2ca0 20 43 6f 6e 76 65 72 74 73 20 61 20 70 6f 69 6e 74 65 72 20 6f 66 20 6f 6e 65 20 74 79 70 65 20 .Converts.a.pointer.of.one.type.
c2cc0 74 6f 20 61 20 70 6f 69 6e 74 65 72 20 6f 66 20 61 6e 6f 74 68 65 72 20 74 79 70 65 2e 0a 20 20 to.a.pointer.of.another.type....
c2ce0 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
c2d00 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
c2d20 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
c2d40 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
c2d60 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.
c2d80 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
c2da0 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
c2dc0 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</
c2de0 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 68 33 a>........</p>...............<h3
c2e00 20 69 64 3d 22 70 74 72 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 74 72 .id="ptrToInt"><a.href="#toc-ptr
c2e20 54 6f 49 6e 74 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 ToInt">@ptrToInt</a>.<a.class="h
c2e40 64 72 22 20 68 72 65 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e dr".href="#ptrToInt">..</a></h3>
c2e60 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="
c2e80 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">
c2ea0 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c @ptrToInt</span>(value:.<span.cl
c2ec0 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
c2ee0 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>
c2f00 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>..
c2f20 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 73 73 3d .....Converts.<code><span.class=
c2f40 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 20 61 20 "line">value</span></code>.to.a.
c2f60 3c 63 6f 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
c2f80 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 lass="tok-type">usize</span></sp
c2fa0 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 73 73 20 an></code>.which.is.the.address.
c2fc0 6f 66 20 74 68 65 20 70 6f 69 6e 74 65 72 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 of.the.pointer..<code><span.clas
c2fe0 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 63 61 6e s="line">value</span></code>.can
c3000 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f .be.one.of.these.types:.......</
c3020 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
c3040 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 3c 2f e><span.class="line">*T</span></
c3060 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c code></li>...........<li><code><
c3080 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
c30a0 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
c30c0 61 6e 20 63 6c 61 73 73 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
c30e0 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f -kw">fn</span>()</span></code></
c3100 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c li>...........<li><code><span.cl
c3120 61 73 73 3d 22 6c 69 6e 65 22 3e 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ass="line">?<span.class="tok-kw"
c3140 3e 66 6e 3c 2f 73 70 61 6e 3e 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a >fn</span>()</span></code></li>.
c3160 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 63 6f 6e 76 65 72 74 20 ......</ul>.......<p>To.convert.
c3180 74 68 65 20 6f 74 68 65 72 20 77 61 79 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 the.other.way,.use.<a.href="#int
c31a0 54 6f 50 74 72 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 61 3e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 ToPtr">@intToPtr</a></p>........
c31c0 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 72 65 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ........<h3.id="rem"><a.href="#t
c31e0 6f 63 2d 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 oc-rem">@rem</a>.<a.class="hdr".
c3200 68 72 65 66 3d 22 23 72 65 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c href="#rem">..</a></h3>........<
c3220 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
c3240 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 an.class="tok-builtin">@rem</spa
c3260 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 n>(numerator:.T,.denominator:.T)
c3280 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>
c32a0 0a 20 20 20 20 20 20 52 65 6d 61 69 6e 64 65 72 20 64 69 76 69 73 69 6f 6e 2e 20 46 6f 72 20 75 .......Remainder.division..For.u
c32c0 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 74 68 69 73 20 69 73 20 74 68 65 20 73 61 6d nsigned.integers.this.is.the.sam
c32e0 65 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 e.as.......<code><span.class="li
c3300 6e 65 22 3e 6e 75 6d 65 72 61 74 6f 72 20 25 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 73 70 61 ne">numerator.%.denominator</spa
c3320 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f n></code>..Caller.guarantees.<co
c3340 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 74 6f de><span.class="line">denominato
c3360 72 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 22 3e r.&gt;.<span.class="tok-number">
c3380 30 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 0</span></span></code>,.otherwis
c33a0 65 20 74 68 65 0a 20 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 77 69 6c 6c 20 72 65 73 75 6c e.the.......operation.will.resul
c33c0 74 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 t.in.a.<a.href="#Remainder-Divis
c33e0 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 76 69 73 69 6f 6e 20 ion-by-Zero">Remainder.Division.
c3400 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 77 68 65 6e 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 20 by.Zero</a>.when.runtime.safety.
c3420 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 0a 20 checks.are.enabled........</p>..
c3440 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
c3460 70 61 6e 20 63 6c 61 73 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
c3480 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c k-builtin">@rem</span>(-<span.cl
c34a0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ass="tok-number">5</span>,.<span
c34c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d .class="tok-number">3</span>).==
c34e0 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 .-<span.class="tok-number">2</sp
c3500 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>..........
c3520 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 28 3c .<li><code><span.class="line">(<
c3540 73 70 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 span.class="tok-builtin">@divTru
c3560 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 63 6c 61 nc</span>(a,.b).*.b).+.<span.cla
c3580 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 61 2c 20 ss="tok-builtin">@rem</span>(a,.
c35a0 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 20 20 20 b).==.a</span></code></li>......
c35c0 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 .</ul>.......<p>For.a.function.t
c35e0 68 61 74 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 73 65 65 20 3c hat.returns.an.error.code,.see.<
c3600 63 6f 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
c3620 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>
c3640 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
c3660 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 72 65 6d 3c 2f 73 70 61 6e 3e 3c 2f &quot;</span>).math.rem</span></
c3680 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 code>.</p>.......<p>See.also:</p
c36a0 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 ><ul>.<li><a.href="#mod">@mod</a
c36c0 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.
c36e0 69 64 3d 22 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 id="returnAddress"><a.href="#toc
c3700 2d 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e 40 72 65 74 75 72 6e 41 64 64 72 65 73 73 3c 2f -returnAddress">@returnAddress</
c3720 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 74 75 72 6e 41 a>.<a.class="hdr".href="#returnA
c3740 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 65 3e ddress">..</a></h3>........<pre>
c3760 3c 63 6f 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
c3780 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 6e 41 64 64 72 65 73 lass="tok-builtin">@returnAddres
c37a0 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 65 s</span>().<span.class="tok-type
c37c0 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 72 ">usize</span></span></code></pr
c37e0 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
c3800 20 72 65 74 75 72 6e 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 6e 65 78 74 .returns.the.address.of.the.next
c3820 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 74 68 61 74 20 77 .machine.code.instruction.that.w
c3840 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 0a 20 20 20 20 20 20 77 68 65 6e 20 74 68 65 20 63 ill.be.executed.......when.the.c
c3860 75 72 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2e 0a 20 20 20 20 20 20 3c urrent.function.returns........<
c3880 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 69 6d 70 6c 69 63 61 74 /p>.......<p>.......The.implicat
c38a0 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 61 72 65 20 74 61 72 67 65 74 20 73 70 65 63 69 66 69 63 ions.of.this.are.target.specific
c38c0 20 61 6e 64 20 6e 6f 74 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 63 72 6f 73 73 0a 20 20 20 20 20 .and.not.consistent.across......
c38e0 20 61 6c 6c 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 .all.platforms........</p>......
c3900 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 .<p>.......This.function.is.only
c3920 20 76 61 6c 69 64 20 77 69 74 68 69 6e 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 2e 20 49 66 .valid.within.function.scope..If
c3940 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 73 20 69 6e 6c 69 6e 65 64 20 69 6e 74 6f 0a .the.function.gets.inlined.into.
c3960 20 20 20 20 20 20 61 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 20 72 65 ......a.calling.function,.the.re
c3980 74 75 72 6e 65 64 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 61 70 70 6c 79 20 74 6f 20 74 68 65 turned.address.will.apply.to.the
c39a0 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .calling.function........</p>...
c39c0 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 6c 65 63 74 22 3e 3c 61 20 68 ............<h3.id="select"><a.h
c39e0 72 65 66 3d 22 23 74 6f 63 2d 73 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 74 3c 2f 61 3e 20 3c 61 ref="#toc-select">@select</a>.<a
c3a00 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 6c 65 63 74 22 3e c2 a7 3c 2f .class="hdr".href="#select">..</
c3a20 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.
c3a40 63 6c 61 73 73 3d 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
c3a60 69 6c 74 69 6e 22 3e 40 73 65 6c 65 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@select</span>(<span.clas
c3a80 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
c3aa0 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>
c3ac0 2c 20 70 72 65 64 3a 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 28 6c 65 6e 2c 20 3c 73 70 ,.pred:.std.meta.Vector(len,.<sp
c3ae0 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>)
c3b00 2c 20 61 3a 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 28 6c 65 6e 2c 20 54 29 2c 20 62 3a ,.a:.std.meta.Vector(len,.T),.b:
c3b20 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 28 6c 65 6e 2c 20 54 29 29 20 73 74 64 2e 6d 65 .std.meta.Vector(len,.T)).std.me
c3b40 74 61 2e 56 65 63 74 6f 72 28 6c 65 6e 2c 20 54 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ta.Vector(len,.T)</span></code><
c3b60 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 65 6c 65 63 74 73 20 76 61 /pre>.......<p>.......Selects.va
c3b80 6c 75 65 73 20 65 6c 65 6d 65 6e 74 2d 77 69 73 65 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 lues.element-wise.from.<code><sp
c3ba0 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 20 an.class="line">a</span></code>.
c3bc0 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 62 3c 2f 73 or.<code><span.class="line">b</s
c3be0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 61 73 65 64 20 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e pan></code>.based.on.<code><span
c3c00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e .class="line">pred</span></code>
c3c20 2e 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 70 72 ..If.<code><span.class="line">pr
c3c40 65 64 5b 69 5d 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 ed[i]</span></code>.is.<code><sp
c3c60 61 6e 20 63 6c 61 73 73 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
c3c80 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 65 3e -null">true</span></span></code>
c3ca0 2c 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 ,.the.corresponding.element.in.t
c3cc0 68 65 20 72 65 73 75 6c 74 20 77 69 6c 6c 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c he.result.will.be.<code><span.cl
c3ce0 61 73 73 3d 22 6c 69 6e 65 22 3e 61 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e ass="line">a[i]</span></code>.an
c3d00 64 20 6f 74 68 65 72 77 69 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d.otherwise.<code><span.class="l
c3d20 69 6e 65 22 3e 62 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c ine">b[i]</span></code>........<
c3d40 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>.<
c3d60 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 li><a.href="#Vectors">Vectors</a
c3d80 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.
c3da0 69 64 3d 22 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 id="setAlignStack"><a.href="#toc
c3dc0 2d 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 3c 2f -setAlignStack">@setAlignStack</
c3de0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 41 6c 69 67 a>.<a.class="hdr".href="#setAlig
c3e00 6e 53 74 61 63 6b 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e nStack">..</a></h3>........<pre>
c3e20 3c 63 6f 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
c3e40 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 lass="tok-builtin">@setAlignStac
c3e60 6b 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 k</span>(<span.class="tok-kw">co
c3e80 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 6e 6d 65 6e 74 3a 20 3c 73 70 61 6e 20 63 mptime</span>.alignment:.<span.c
c3ea0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 39 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 lass="tok-type">u29</span>)</spa
c3ec0 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>.......
c3ee0 45 6e 73 75 72 65 73 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 Ensures.that.a.function.will.hav
c3f00 65 20 61 20 73 74 61 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 e.a.stack.alignment.of.at.least.
c3f20 3c 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 6c 69 67 6e 6d 65 <code><span.class="line">alignme
c3f40 6e 74 3c 2f 73 70 61 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 nt</span></code>.bytes........</
c3f60 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 73 65 74 43 6f 6c 64 p>...............<h3.id="setCold
c3f80 22 3e 3c 61 20 68 72 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 "><a.href="#toc-setCold">@setCol
c3fa0 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 73 65 74 43 d</a>.<a.class="hdr".href="#setC
c3fc0 6f 6c 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 old">..</a></h3>........<pre><co
c3fe0 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
c4000 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 43 6f 6c 64 3c 2f 73 70 61 6e 3e 28 s="tok-builtin">@setCold</span>(
c4020 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
c4040 70 61 6e 3e 20 69 73 5f 63 6f 6c 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 pan>.is_cold:.<span.class="tok-t
c4060 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ype">bool</span>)</span></code><
c4080 2f 70 72 65 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 /pre>.......<p>.......Tells.the.
c40a0 6f 70 74 69 6d 69 7a 65 72 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 61 72 optimizer.that.a.function.is.rar
c40c0 65 6c 79 20 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 ely.called........</p>..........
c40e0 20 20 20 20 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 .....<h3.id="setEvalBranchQuota"
c4100 3e 3c 61 20 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 ><a.href="#toc-setEvalBranchQuot
c4120 61 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 61 3e 20 3c 61 20 63 6c a">@setEvalBranchQuota</a>.<a.cl
c4140 61 73 73 3d 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 ass="hdr".href="#setEvalBranchQu
c4160 6f 74 61 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 ota">..</a></h3>........<pre><co
c4180 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
c41a0 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 61 6e 63 68 51 75 s="tok-builtin">@setEvalBranchQu
c41c0 6f 74 61 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 ota</span>(<span.class="tok-kw">
c41e0 63 6f 6d 70 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 comptime</span>.new_quota:.<span
c4200 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 3c 2f 73 .class="tok-type">u32</span>)</s
c4220 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>.....
c4240 20 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 ..Changes.the.maximum.number.of.
c4260 62 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 backwards.branches.that.compile-
c4280 74 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 time.code.......execution.can.us
c42a0 65 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 e.before.giving.up.and.making.a.
c42c0 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>.......
c42e0 3c 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 <p>.......If.the.<code><span.cla
c4300 73 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 ss="line">new_quota</span></code
c4320 3e 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 >.is.smaller.than.the.default.qu
c4340 6f 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 ota.(<code><span.class="line"><s
c4360 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 3c 2f 73 70 61 pan.class="tok-number">1000</spa
c4380 6e 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 n></span></code>).or.......a.pre
c43a0 76 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 viously.explicitly.set.quota,.it
c43c0 20 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 .is.ignored........</p>.......<p
c43e0 3e 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 >.......Example:.......</p>.....
c4400 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
c4420 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 -cap"><cite.class="file">test.zi
c4440 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>
c4460 3c 73 70 61 6e 20 63 6c 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="
c4480 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=
c44a0 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>
c44c0 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">...
c44e0 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</
c4500 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
c4520 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 76 ">........<span.class="tok-kw">v
c4540 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 6e ar</span>.i.=.<span.class="tok-n
c4560 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
c4580 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="
c45a0 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 tok-kw">while</span>.(i.&lt;.<sp
c45c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 31 3c 2f 73 70 61 6e an.class="tok-number">1001</span
c45e0 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >).:.(i.+=.<span.class="tok-numb
c4600 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 6c er">1</span>).{}</span>.<span.cl
c4620 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
c4640 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>
c4660 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
c4680 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
c46a0 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ><pre><samp><span.class="line">$
c46c0 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 .<kbd>zig.test.test.zig</kbd></s
c46e0 70 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
c4700 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 ass="t0_1">./docgen_tmp/test.zig
c4720 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 74 33 31 5f 31 22 :4:9:.</span><span.class="t31_1"
c4740 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 74 30 5f 31 >error:.</span><span.class="t0_1
c4760 22 3e 65 76 61 6c 75 61 74 69 6f 6e 20 65 78 63 65 65 64 65 64 20 31 30 30 30 20 62 61 63 6b 77 ">evaluation.exceeded.1000.backw
c4780 61 72 64 73 20 62 72 61 6e 63 68 65 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ards.branches</span></span>.<spa
c47a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 69 20 n.class="line">........while.(i.
c47c0 26 6c 74 3b 20 31 30 30 31 29 20 3a 20 28 69 20 2b 3d 20 31 29 20 7b 7d 3c 2f 73 70 61 6e 3e 0a &lt;.1001).:.(i.+=.1).{}</span>.
c47e0 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
c4800 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
c4820 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 4e /samp></pre></figure>.......<p>N
c4840 6f 77 20 77 65 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ow.we.use.<code><span.class="lin
c4860 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 65 e"><span.class="tok-builtin">@se
c4880 74 45 76 61 6c 42 72 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 tEvalBranchQuota</span></span></
c48a0 63 6f 64 65 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 code>:</p>.......<figure><figcap
c48c0 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
c48e0 3d 22 66 69 6c 65 22 3e 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 2e 7a 69 67 3c 2f ="file">setEvalBranchQuota.zig</
c4900 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
c4920 61 6e 20 63 6c 61 73 73 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
c4940 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
c4960 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 20 7b 3c k-str">&quot;foo&quot;</span>.{<
c4980 2f 73 70 61 6e 3e 0a 3c 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
c49a0 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
c49c0 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">.
c49e0 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"
c4a00 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 >@setEvalBranchQuota</span>(<spa
c4a20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 31 3c 2f 73 70 61 6e 3e n.class="tok-number">1001</span>
c4a40 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">...
c4a60 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 .....<span.class="tok-kw">var</s
c4a80 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 72 pan>.i.=.<span.class="tok-number
c4aa0 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 22 ">0</span>;</span>.<span.class="
c4ac0 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
c4ae0 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c w">while</span>.(i.&lt;.<span.cl
c4b00 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 31 3c 2f 73 70 61 6e 3e 29 20 3a 20 ass="tok-number">1001</span>).:.
c4b20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 (i.+=.<span.class="tok-number">1
c4b40 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 73 73 3d 22 </span>).{}</span>.<span.class="
c4b60 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="
c4b80 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
c4ba0 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
c4bc0 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
c4be0 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 ><samp><span.class="line">$.<kbd
c4c00 3e 7a 69 67 20 74 65 73 74 20 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 2e 7a 69 67 >zig.test.setEvalBranchQuota.zig
c4c20 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 </kbd></span>.<span.class="line"
c4c40 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c >1/1.test.&quot;foo&quot;....OK<
c4c60 2f 73 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 6c 6c 20 31 20 /span>.<span.class="line">All.1.
c4c80 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 tests.passed.</span>.</samp></pr
c4ca0 65 3e 3c 2f 66 69 67 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 e></figure>........<p>See.also:<
c4cc0 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e /p><ul>.<li><a.href="#comptime">
c4ce0 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 20 20 20 20 0a comptime</a></li>.</ul>.........
c4d00 0a 20 20 20 20 20 20 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 .......<h3.id="setFloatMode"><a.
c4d20 68 72 65 66 3d 22 23 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 href="#toc-setFloatMode">@setFlo
c4d40 61 74 4d 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 atMode</a>.<a.class="hdr".href="
c4d60 23 73 65 74 46 6c 6f 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 #setFloatMode">..</a></h3>......
c4d80 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">
c4da0 3c 73 70 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 46 6c <span.class="tok-builtin">@setFl
c4dc0 6f 61 74 4d 6f 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 oatMode</span>(<span.class="tok-
c4de0 6b 77 22 3e 63 6f 6d 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 kw">comptime</span>.mode:.<span.
c4e00 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
c4e20 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
c4e40 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 46 6c 6f 61 74 4d 6f td&quot;</span>).builtin.FloatMo
c4e60 64 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 de)</span></code></pre>.......<p
c4e80 3e 0a 20 20 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 >.......Sets.the.floating.point.
c4ea0 6d 6f 64 65 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 mode.of.the.current.scope..Possi
c4ec0 62 6c 65 20 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 ble.values.are:.......</p>......
c4ee0 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-
c4f00 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 cap"><cite.class="file">test.zig
c4f20 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><
c4f40 73 70 61 6e 20 63 6c 61 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
c4f60 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
c4f80 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 20 ok-kw">const</span>.FloatMode.=.
c4fa0 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>
c4fc0 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">...
c4fe0 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 6e .Strict,</span>.<span.class="lin
c5000 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 63 e">....Optimized,</span>.<span.c
c5020 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 72 lass="line">};</span></code></pr
c5040 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>.........<
c5060 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 73 li>.............<code><span.clas
c5080 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 64 s="line">Strict</span></code>.(d
c50a0 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 69 efault).-.Floating.point.operati
c50c0 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 63 ons.follow.strict.IEEE.complianc
c50e0 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 20 e..........</li>.........<li>...
c5100 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
c5120 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 6f e">Optimized</span></code>.-.Flo
c5140 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 6c ating.point.operations.may.do.al
c5160 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 75 l.of.the.following:...........<u
c5180 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 72 l>.............<li>Assume.the.ar
c51a0 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 20 guments.and.result.are.not.NaN..
c51c0 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 65 Optimizations.are.required.to.re
c51e0 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 2c tain.defined.behavior.over.NaNs,
c5200 20 62 75 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 .but.the.value.of.the.result.is.
c5220 75 6e 64 65 66 69 6e 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e undefined.</li>.............<li>
c5240 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 20 Assume.the.arguments.and.result.
c5260 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 72 are.not.+/-Inf..Optimizations.ar
c5280 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 68 e.required.to.retain.defined.beh
c52a0 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 65 avior.over.+/-Inf,.but.the.value
c52c0 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 69 .of.the.result.is.undefined.</li
c52e0 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 6e >.............<li>Treat.the.sign
c5300 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 73 .of.a.zero.argument.or.result.as
c5320 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 20 .insignificant.</li>............
c5340 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 72 .<li>Use.the.reciprocal.of.an.ar
c5360 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 73 gument.rather.than.perform.divis
c5380 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 72 ion.</li>.............<li>Perfor
c53a0 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 2e m.floating-point.contraction.(e.
c53c0 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 79 g..fusing.a.multiply.followed.by
c53e0 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 70 .an.addition.into.a.fused.multip
c5400 6c 79 2d 61 6e 64 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 ly-and-add).</li>.............<l
c5420 69 3e 50 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 i>Perform.algebraically.equivale
c5440 6e 74 20 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 nt.transformations.that.may.chan
c5460 67 65 20 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 ge.results.in.floating.point.(e.
c5480 67 2e 20 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 g..reassociate).</li>...........
c54a0 3c 2f 75 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 </ul>...........This.is.equivale
c54c0 6e 74 20 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 nt.to.<code>-ffast-math</code>.i
c54e0 6e 20 47 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 n.GCC..........</li>.......</ul>
c5500 0a 20 20 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 .......<p>.......The.floating.po
c5520 69 6e 74 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 int.mode.is.inherited.by.child.s
c5540 63 6f 70 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 copes,.and.can.be.overridden.in.
c5560 61 6e 79 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 any.scope........You.can.set.the
c5580 20 66 6c 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 .floating.point.mode.in.a.struct
c55a0 20 6f 72 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 .or.module.scope.by.using.a.comp
c55c0 74 69 6d 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 time.block........</p>.......<p>
c55e0 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="#
c5600 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 Floating-Point-Operations">Float
c5620 69 6e 67 20 50 6f 69 6e 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f ing.Point.Operations</a></li>.</
c5640 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 52 75 ul>................<h3.id="setRu
c5660 6e 74 69 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 ntimeSafety"><a.href="#toc-setRu
c5680 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 3c 2f ntimeSafety">@setRuntimeSafety</
c56a0 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 52 75 6e 74 a>.<a.class="hdr".href="#setRunt
c56c0 69 6d 65 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 imeSafety">..</a></h3>........<p
c56e0 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
c5700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 52 75 6e 74 69 6d n.class="tok-builtin">@setRuntim
c5720 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d eSafety</span>(<span.class="tok-
c5740 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 73 61 66 65 74 79 5f 6f 6e 3a 20 3c kw">comptime</span>.safety_on:.<
c5760 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
c5780 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f >).<span.class="tok-type">void</
c57a0 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>.......
c57c0 3c 70 3e 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 <p>.......Sets.whether.runtime.s
c57e0 61 66 65 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 afety.checks.are.enabled.for.the
c5800 20 73 63 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 .scope.that.contains.the.functio
c5820 6e 20 63 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 n.call........</p>.......<figure
c5840 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
c5860 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c te.class="file">test.zig</cite><
c5880 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
c58a0 73 73 3d 22 6c 69 6e 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
c58c0 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"
c58e0 3e 26 71 75 6f 74 3b 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 26 71 75 6f 74 3b 3c 2f >&quot;@setRuntimeSafety&quot;</
c5900 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
c5920 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">
c5940 2f 2f 20 54 68 65 20 62 75 69 6c 74 69 6e 20 61 70 70 6c 69 65 73 20 74 6f 20 74 68 65 20 73 63 //.The.builtin.applies.to.the.sc
c5960 6f 70 65 20 74 68 61 74 20 69 74 20 69 73 20 63 61 6c 6c 65 64 20 69 6e 2e 20 53 6f 20 68 65 72 ope.that.it.is.called.in..So.her
c5980 65 2c 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 61 6e e,.integer.overflow</span></span
c59a0 3e 0a 3c 73 70 61 6e 20 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
c59c0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 69 6c 6c 20 6e 6f 74 20 62 lass="tok-comment">//.will.not.b
c59e0 65 20 63 61 75 67 68 74 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 74 20 61 6e 64 20 52 65 6c 65 e.caught.in.ReleaseFast.and.Rele
c5a00 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 73 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 aseSmall.modes:</span></span>.<s
c5a20 70 61 6e 20 63 6c 61 73 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
c5a40 3d 22 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 ="tok-comment">//.var.x:.u8.=.25
c5a60 35 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 5;</span></span>.<span.class="li
c5a80 6e 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
c5aa0 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 62 65 68 61 76 69 ">//.x.+=.1;.//.undefined.behavi
c5ac0 6f 72 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 74 2f 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d or.in.ReleaseFast/ReleaseSmall.m
c5ae0 6f 64 65 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 odes.</span></span>.<span.class=
c5b00 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 3d "line">....{</span>.<span.class=
c5b20 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-
c5b40 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 62 6c 6f 63 6b 20 68 comment">//.However.this.block.h
c5b60 61 73 20 73 61 66 65 74 79 20 65 6e 61 62 6c 65 64 2c 20 73 6f 20 73 61 66 65 74 79 20 63 68 65 as.safety.enabled,.so.safety.che
c5b80 63 6b 73 20 68 61 70 70 65 6e 20 68 65 72 65 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c cks.happen.here,</span></span>.<
c5ba0 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.
c5bc0 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 6e 20 69 6e 20 52 class="tok-comment">//.even.in.R
c5be0 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 6f 64 65 eleaseFast.and.ReleaseSmall.mode
c5c00 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
c5c20 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 69 ne">........<span.class="tok-bui
c5c40 6c 74 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 28 3c ltin">@setRuntimeSafety</span>(<
c5c60 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
c5c80 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">..
c5ca0 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</
c5cc0 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 3e span>.x:.<span.class="tok-type">
c5ce0 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 6d u8</span>.=.<span.class="tok-num
c5d00 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 20 63 6c ber">255</span>;</span>.<span.cl
c5d20 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c ass="line">........x.+=.<span.cl
c5d40 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
c5d60 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
c5d80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7b 3c 2f 73 70 61 6e 3e an.class="line">........{</span>
c5da0 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">............
c5dc0 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
c5de0 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 61 74 20 61 6e 79 20 .value.can.be.overridden.at.any.
c5e00 73 63 6f 70 65 2e 20 53 6f 20 68 65 72 65 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3c scope..So.here.integer.overflow<
c5e20 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"
c5e40 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 6f >............<span.class="tok-co
c5e60 6d 6d 65 6e 74 22 3e 2f 2f 20 77 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 61 75 67 68 74 20 69 6e mment">//.would.not.be.caught.in
c5e80 20 61 6e 79 20 62 75 69 6c 64 20 6d 6f 64 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .any.build.mode.</span></span>.<
c5ea0 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
c5ec0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 52 75 6e 74 pan.class="tok-builtin">@setRunt
c5ee0 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f imeSafety</span>(<span.class="to
c5f00 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 3e 0a 3c 73 k-null">false</span>);</span>.<s
c5f20 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 70 pan.class="line">............<sp
c5f40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 72 20 78 3a an.class="tok-comment">//.var.x:
c5f60 20 75 38 20 3d 20 32 35 35 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .u8.=.255;</span></span>.<span.c
c5f80 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 6c lass="line">............<span.cl
c5fa0 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 31 3b 20 2f 2f 20 ass="tok-comment">//.x.+=.1;.//.
c5fc0 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 6e 20 61 6c 6c 20 62 75 69 6c 64 20 undefined.behavior.in.all.build.
c5fe0 6d 6f 64 65 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 modes.</span></span>.<span.class
c6000 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
c6020 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
c6040 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
c6060 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
c6080 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
c60a0 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
c60c0 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 20 2d 4f 52 65 6c 65 61 $.<kbd>zig.test.test.zig.-ORelea
c60e0 73 65 46 61 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d seFast</kbd></span>.<span.class=
c6100 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 73 65 74 52 75 6e 74 69 6d "line">1/1.test.&quot;@setRuntim
c6120 65 53 61 66 65 74 79 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 31 34 34 33 33 39 33 20 eSafety&quot;....thread.1443393.
c6140 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 3c panic:.integer.overflow</span>.<
c6160 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c span.class="line">error:.the.fol
c6180 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 lowing.test.command.crashed:</sp
c61a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 67 65 6e 5f 74 6d an>.<span.class="line">docgen_tm
c61c0 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 34 65 38 33 38 39 61 36 37 63 66 61 63 38 36 34 62 66 p/zig-cache/o/4e8389a67cfac864bf
c61e0 65 65 33 63 37 63 38 61 33 39 33 36 30 32 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 ee3c7c8a393602/test./home/andy/t
c6200 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 3c 2f 73 70 61 6e 3e 0a mp/zig/build-release/zig</span>.
c6220 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>
c6240 4e 6f 74 65 3a 20 69 74 20 69 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 Note:.it.is.<a.href="https://git
c6260 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 39 37 38 22 3e hub.com/ziglang/zig/issues/978">
c6280 70 6c 61 6e 6e 65 64 3c 2f 61 3e 20 74 6f 20 72 65 70 6c 61 63 65 0a 20 20 20 20 20 20 3c 63 6f planned</a>.to.replace.......<co
c62a0 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
c62c0 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 66 65 74 s="tok-builtin">@setRuntimeSafet
c62e0 79 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 3c 63 6f 64 y</span></span></code>.with.<cod
c6300 65 3e 40 6f 70 74 69 6d 69 7a 65 46 6f 72 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 0a 20 20 20 20 20 e>@optimizeFor</code></p>.......
c6320 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 68 6c 45 78 61 63 74 22 3e 3c 61 20 68 72 .........<h3.id="shlExact"><a.hr
c6340 65 66 3d 22 23 74 6f 63 2d 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e ef="#toc-shlExact">@shlExact</a>
c6360 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 .<a.class="hdr".href="#shlExact"
c6380 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><
c63a0 73 70 61 6e 20 63 6c 61 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
c63c0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 76 61 6c ok-builtin">@shlExact</span>(val
c63e0 75 65 3a 20 54 2c 20 73 68 69 66 74 5f 61 6d 74 3a 20 4c 6f 67 32 54 29 20 54 3c 2f 73 70 61 6e ue:.T,.shift_amt:.Log2T).T</span
c6400 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 ></code></pre>.......<p>.......P
c6420 65 72 66 6f 72 6d 73 20 74 68 65 20 6c 65 66 74 20 73 68 69 66 74 20 6f 70 65 72 61 74 69 6f 6e erforms.the.left.shift.operation
c6440 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 26 6c 74 3b 26 .(<code><span.class="line">&lt;&
c6460 6c 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 46 6f 72 20 75 6e lt;</span></code>)........For.un
c6480 73 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 signed.integers,.the.result.is.<
c64a0 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 6e 65 64 3c 2f 61 a.href="#undefined">undefined</a
c64c0 3e 20 69 66 20 61 6e 79 20 31 20 62 69 74 73 0a 20 20 20 20 20 20 61 72 65 20 73 68 69 66 74 65 >.if.any.1.bits.......are.shifte
c64e0 64 20 6f 75 74 2e 20 46 6f 72 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 2c 20 74 68 65 20 d.out..For.signed.integers,.the.
c6500 72 65 73 75 6c 74 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 result.is.<a.href="#undefined">u
c6520 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 69 66 0a 20 20 20 20 20 20 61 6e 79 20 62 69 74 73 20 74 ndefined</a>.if.......any.bits.t
c6540 68 61 74 20 64 69 73 61 67 72 65 65 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 61 6e 74 20 hat.disagree.with.the.resultant.
c6560 73 69 67 6e 20 62 69 74 20 61 72 65 20 73 68 69 66 74 65 64 20 6f 75 74 2e 0a 20 20 20 20 20 20 sign.bit.are.shifted.out........
c6580 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 74 79 70 65 20 6f 66 </p>.......<p>.......The.type.of
c65a0 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 68 69 66 74 5f .<code><span.class="line">shift_
c65c0 61 6d 74 3c 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 amt</span></code>.is.an.unsigned
c65e0 20 69 6e 74 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 .integer.with.<code><span.class=
c6600 22 6c 69 6e 65 22 3e 6c 6f 67 32 28 54 2e 62 69 74 5f 63 6f 75 6e 74 29 3c 2f 73 70 61 6e 3e 3c "line">log2(T.bit_count)</span><
c6620 2f 63 6f 64 65 3e 20 62 69 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 /code>.bits................This.
c6640 69 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 is.because.<code><span.class="li
c6660 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 20 26 67 74 3b 3d 20 54 2e 62 69 74 5f 63 6f 75 6e 74 3c ne">shift_amt.&gt;=.T.bit_count<
c6680 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 20 62 65 68 61 76 /span></code>.is.undefined.behav
c66a0 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 65 65 20 61 6c 73 ior........</p>.......<p>See.als
c66c0 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 68 72 45 78 61 63 o:</p><ul>.<li><a.href="#shrExac
c66e0 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 t">@shrExact</a></li>.<li><a.hre
c6700 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 f="#shlWithOverflow">@shlWithOve
c6720 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 rflow</a></li>.</ul>............
c6740 20 20 20 20 3c 68 33 20 69 64 3d 22 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 ....<h3.id="shlWithOverflow"><a.
c6760 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c href="#toc-shlWithOverflow">@shl
c6780 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 WithOverflow</a>.<a.class="hdr".
c67a0 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f href="#shlWithOverflow">..</a></
c67c0 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
c67e0 73 3d 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
c6800 6e 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e n">@shlWithOverflow</span>(<span
c6820 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>.
c6840 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 2f T:.<span.class="tok-type">type</
c6860 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 73 68 69 66 74 5f 61 6d 74 3a 20 4c 6f 67 32 54 2c 20 72 span>,.a:.T,.shift_amt:.Log2T,.r
c6880 65 73 75 6c 74 3a 20 2a 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 esult:.*T).<span.class="tok-type
c68a0 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 3c 2f 70 72 65 ">bool</span></span></code></pre
c68c0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 >.......<p>.......Performs.<code
c68e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 2e 2a 20 3d 20 61 ><span.class="line">result.*.=.a
c6900 20 26 6c 74 3b 26 6c 74 3b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 6f 76 .&lt;&lt;.b</span></code>..If.ov
c6920 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 erflow.or.underflow.occurs,.....
c6940 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 73 20 74 68 65 20 6f 76 65 72 66 6c 6f 77 .............stores.the.overflow
c6960 65 64 20 62 69 74 73 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 ed.bits.in.<code><span.class="li
c6980 6e 65 22 3e 72 65 73 75 6c 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 ne">result</span></code>.and.ret
c69a0 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
c69c0 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>
c69e0 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 20 20 20 20 </span></code>..................
c6a00 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 .........If.no.overflow.or.under
c6a20 66 6c 6f 77 20 6f 63 63 75 72 73 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e flow.occurs,.returns.<code><span
c6a40 20 63 6c 61 73 73 3d 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
c6a60 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 3e 2e ull">false</span></span></code>.
c6a80 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.
c6aa0 74 79 70 65 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 type.of.<code><span.class="line"
c6ac0 3e 73 68 69 66 74 5f 61 6d 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 6e 20 75 >shift_amt</span></code>.is.an.u
c6ae0 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e nsigned.integer.with.<code><span
c6b00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 6f 67 32 28 54 2e 62 69 74 5f 63 6f 75 6e 74 29 3c .class="line">log2(T.bit_count)<
c6b20 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 69 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 /span></code>.bits..............
c6b40 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ..This.is.because.<code><span.cl
c6b60 61 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 20 26 67 74 3b 3d 20 54 2e 62 69 74 ass="line">shift_amt.&gt;=.T.bit
c6b80 5f 63 6f 75 6e 74 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 _count</span></code>.is.undefine
c6ba0 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 3c 70 3e d.behavior........</p>.......<p>
c6bc0 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="#
c6be0 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 3c 6c 69 shlExact">@shlExact</a></li>.<li
c6c00 3e 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 ><a.href="#shrExact">@shrExact</
c6c20 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 a></li>.</ul>................<h3
c6c40 20 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 .id="shrExact"><a.href="#toc-shr
c6c60 45 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 Exact">@shrExact</a>.<a.class="h
c6c80 64 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 dr".href="#shrExact">..</a></h3>
c6ca0 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="
c6cc0 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">
c6ce0 40 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 @shrExact</span>(value:.T,.shift
c6d00 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
c6d20 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.
c6d40 72 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 right.shift.operation.(<code><sp
c6d60 61 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 an.class="line">&gt;&gt;</span><
c6d80 2f 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 /code>)..Caller.guarantees......
c6da0 20 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 .that.the.shift.will.not.shift.a
c6dc0 6e 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 ny.1.bits.out........</p>.......
c6de0 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 64 65 3e 3c 73 70 61 <p>.......The.type.of.<code><spa
c6e00 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 2f 73 70 61 6e 3e 3c n.class="line">shift_amt</span><
c6e20 2f 63 6f 64 65 3e 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 77 69 /code>.is.an.unsigned.integer.wi
c6e40 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 6c 6f 67 32 th.<code><span.class="line">log2
c6e60 28 54 2e 62 69 74 5f 63 6f 75 6e 74 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 69 74 73 (T.bit_count)</span></code>.bits
c6e80 2e 0a 20 20 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 ................This.is.because.
c6ea0 3c 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 68 69 66 74 5f 61 <code><span.class="line">shift_a
c6ec0 6d 74 20 26 67 74 3b 3d 20 54 2e 62 69 74 5f 63 6f 75 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 mt.&gt;=.T.bit_count</span></cod
c6ee0 65 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 e>.is.undefined.behavior........
c6f00 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>.
c6f20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 <li><a.href="#shlExact">@shlExac
c6f40 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 t</a></li>.<li><a.href="#shlWith
c6f60 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 3c 2f Overflow">@shlWithOverflow</a></
c6f80 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=
c6fa0 22 73 68 75 66 66 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 75 66 66 6c 65 22 "shuffle"><a.href="#toc-shuffle"
c6fc0 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 >@shuffle</a>.<a.class="hdr".hre
c6fe0 66 3d 22 23 73 68 75 66 66 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 f="#shuffle">..</a></h3>........
c7000 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
c7020 70 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 65 pan.class="tok-builtin">@shuffle
c7040 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
c7060 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 45 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ptime</span>.E:.<span.class="tok
c7080 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 73 74 64 2e 6d 65 74 61 2e -type">type</span>,.a:.std.meta.
c70a0 56 65 63 74 6f 72 28 61 5f 6c 65 6e 2c 20 45 29 2c 20 62 3a 20 73 74 64 2e 6d 65 74 61 2e 56 65 Vector(a_len,.E),.b:.std.meta.Ve
c70c0 63 74 6f 72 28 62 5f 6c 65 6e 2c 20 45 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ctor(b_len,.E),.<span.class="tok
c70e0 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 61 73 6b 3a 20 73 74 64 2e 6d -kw">comptime</span>.mask:.std.m
c7100 65 74 61 2e 56 65 63 74 6f 72 28 6d 61 73 6b 5f 6c 65 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 eta.Vector(mask_len,.<span.class
c7120 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 73 74 64 2e 6d 65 74 ="tok-type">i32</span>)).std.met
c7140 61 2e 56 65 63 74 6f 72 28 6d 61 73 6b 5f 6c 65 6e 2c 20 45 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f a.Vector(mask_len,.E)</span></co
c7160 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 73 74 72 de></pre>.......<p>.......Constr
c7180 75 63 74 73 20 61 20 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 ucts.a.new.<a.href="#Vectors">ve
c71a0 63 74 6f 72 3c 2f 61 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 ctor</a>.by.selecting.elements.f
c71c0 72 6f 6d 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 rom.<code><span.class="line">a</
c71e0 73 70 61 6e 3e 3c 2f 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 span></code>.and.......<code><sp
c7200 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 20 an.class="line">b</span></code>.
c7220 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 6e 65 based.on.<code><span.class="line
c7240 22 3e 6d 61 73 6b 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 ">mask</span></code>........</p>
c7260 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 69 6e .......<p>.......Each.element.in
c7280 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 2f .<code><span.class="line">mask</
c72a0 73 70 61 6e 3e 3c 2f 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 span></code>.selects.an.element.
c72c0 66 72 6f 6d 20 65 69 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 from.either.<code><span.class="l
c72e0 69 6e 65 22 3e 61 3c 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 ine">a</span></code>.or.......<c
c7300 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 3e 3c ode><span.class="line">b</span><
c7320 2f 63 6f 64 65 3e 2e 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 /code>..Positive.numbers.select.
c7340 66 72 6f 6d 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 from.<code><span.class="line">a<
c7360 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 72 74 69 6e 67 20 61 74 20 30 2e 0a 20 20 20 /span></code>.starting.at.0.....
c7380 20 20 20 4e 65 67 61 74 69 76 65 20 76 61 6c 75 65 73 20 73 65 6c 65 63 74 20 66 72 6f 6d 20 3c ...Negative.values.select.from.<
c73a0 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 3e code><span.class="line">b</span>
c73c0 3c 2f 63 6f 64 65 3e 2c 20 73 74 61 72 74 69 6e 67 20 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e </code>,.starting.at.<code><span
c73e0 20 63 6c 61 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 .class="line">-<span.class="tok-
c7400 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 64 65 3e 20 61 number">1</span></span></code>.a
c7420 6e 64 20 67 6f 69 6e 67 20 64 6f 77 6e 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 65 63 6f 6d nd.going.down........It.is.recom
c7440 6d 65 6e 64 65 64 20 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 mended.to.use.the.<code><span.cl
c7460 61 73 73 3d 22 6c 69 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 ass="line">~</span></code>.opera
c7480 74 6f 72 20 66 72 6f 6d 20 69 6e 64 65 78 65 73 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 tor.from.indexes.from.<code><spa
c74a0 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 0a 20 n.class="line">b</span></code>..
c74c0 20 20 20 20 20 73 6f 20 74 68 61 74 20 62 6f 74 68 20 69 6e 64 65 78 65 73 20 63 61 6e 20 73 74 .....so.that.both.indexes.can.st
c74e0 61 72 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 art.from.<code><span.class="line
c7500 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 3c 2f 73 70 "><span.class="tok-number">0</sp
c7520 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 69 2e 65 2e 20 3c 63 6f 64 65 3e 3c 73 an></span></code>.(i.e..<code><s
c7540 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 61 73 73 3d 22 74 pan.class="line">~<span.class="t
c7560 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
c7580 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-type">i32</span>,.<span.
c75a0 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 2f 73 70 class="tok-number">0</span>)</sp
c75c0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 an></code>.is.......<code><span.
c75e0 63 6c 61 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 class="line">-<span.class="tok-n
c7600 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 64 65 3e 29 2e 0a umber">1</span></span></code>)..
c7620 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
c7640 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ach.element.of.<code><span.class
c7660 3d 22 6c 69 6e 65 22 3e 6d 61 73 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 69 66 20 69 ="line">mask</span></code>,.if.i
c7680 74 20 6f 72 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 76 61 6c 75 65 20 66 72 6f 6d 0a 20 20 20 t.or.the.selected.value.from....
c76a0 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 3c 2f 73 ...<code><span.class="line">a</s
c76c0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 pan></code>.or.<code><span.class
c76e0 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 ="line">b</span></code>.is.<code
c7700 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=
c7720 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
c7740 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 n></code>,.......then.the.result
c7760 69 6e 67 20 65 6c 65 6d 65 6e 74 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ing.element.is.<code><span.class
c7780 3d 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
c77a0 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 2e 0a 20 ndefined</span></span></code>...
c77c0 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>
c77e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 5f 6c 65 6e 3c 2f 73 70 61 6e 3e 3c <span.class="line">a_len</span><
c7800 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 69 /code>.and.<code><span.class="li
c7820 6e 65 22 3e 62 5f 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 64 69 66 66 ne">b_len</span></code>.may.diff
c7840 65 72 20 69 6e 20 6c 65 6e 67 74 68 2e 20 4f 75 74 2d 6f 66 2d 62 6f 75 6e 64 73 20 65 6c 65 6d er.in.length..Out-of-bounds.elem
c7860 65 6e 74 0a 20 20 20 20 20 20 69 6e 64 65 78 65 73 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ent.......indexes.in.<code><span
c7880 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 63 6f 64 65 3e .class="line">mask</span></code>
c78a0 20 72 65 73 75 6c 74 20 69 6e 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20 .result.in.compile.errors.......
c78c0 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 3e 3c .</p>.......<p>.......If.<code><
c78e0 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 65 span.class="line">a</span></code
c7900 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 62 3c >.or.<code><span.class="line">b<
c7920 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
c7940 73 73 3d 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"
c7960 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 3e 2c >undefined</span></span></code>,
c7980 20 69 74 0a 20 20 20 20 20 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 76 65 63 .it.......is.equivalent.to.a.vec
c79a0 74 6f 72 20 6f 66 20 61 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 tor.of.all.<code><span.class="li
c79c0 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 65 66 ne"><span.class="tok-null">undef
c79e0 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 77 69 74 68 20 74 ined</span></span></code>.with.t
c7a00 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 20 61 73 20 74 68 65 20 6f 74 68 65 72 20 76 65 63 74 he.same.length.as.the.other.vect
c7a20 6f 72 2e 0a 20 20 20 20 20 20 49 66 20 62 6f 74 68 20 76 65 63 74 6f 72 73 20 61 72 65 20 3c 63 or........If.both.vectors.are.<c
c7a40 6f 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
c7a60 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></
c7a80 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d span></code>,.<code><span.class=
c7aa0 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"
c7ac0 3e 40 73 68 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 >@shuffle</span></span></code>.r
c7ae0 65 74 75 72 6e 73 0a 20 20 20 20 20 20 61 20 76 65 63 74 6f 72 20 77 69 74 68 20 61 6c 6c 20 65 eturns.......a.vector.with.all.e
c7b00 6c 65 6d 65 6e 74 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 lements.<code><span.class="line"
c7b20 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 65 ><span.class="tok-null">undefine
c7b40 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 3c 2f d</span></span></code>........</
c7b60 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 6e 20 63 p>.......<p>.......<code><span.c
c7b80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 lass="line">E</span></code>.must
c7ba0 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 .be.an.<a.href="#Integers">integ
c7bc0 65 72 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 66 6c 6f 61 74 3c er</a>,.<a.href="#Floats">float<
c7be0 2f 61 3e 2c 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 /a>,.......<a.href="#Pointers">p
c7c00 6f 69 6e 74 65 72 3c 2f 61 3e 2c 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ointer</a>,.or.<code><span.class
c7c20 3d 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
c7c40 6f 6f 6c 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 65 20 6d 61 ool</span></span></code>..The.ma
c7c60 73 6b 20 6d 61 79 20 62 65 20 61 6e 79 20 76 65 63 74 6f 72 20 6c 65 6e 67 74 68 2c 20 61 6e 64 sk.may.be.any.vector.length,.and
c7c80 20 69 74 73 0a 20 20 20 20 20 20 6c 65 6e 67 74 68 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 .its.......length.determines.the
c7ca0 20 72 65 73 75 6c 74 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 .result.length........</p>......
c7cc0 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-
c7ce0 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 65 63 74 6f 72 5f 73 cap"><cite.class="file">vector_s
c7d00 68 75 66 66 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 huffle.zig</cite></figcaption><p
c7d20 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
c7d40 6e 20 63 6c 61 73 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
c7d60 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
c7d80 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
c7da0 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
c7dc0 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
c7de0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 65 63 74 6f 72 20 3d s="tok-kw">const</span>.Vector.=
c7e00 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .std.meta.Vector;</span>.<span.c
c7e20 6c 61 73 73 3d 22 6c 69 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"
c7e40 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 >const</span>.expect.=.std.testi
c7e60 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 6c ng.expect;</span>.<span.class="l
c7e80 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">
c7ea0 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>
c7ec0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 65 63 .<span.class="tok-str">&quot;vec
c7ee0 74 6f 72 20 40 73 68 75 66 66 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 tor.@shuffle&quot;</span>.{</spa
c7f00 6e 3e 0a 3c 73 70 61 6e 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.
c7f20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 56 class="tok-kw">const</span>.a:.V
c7f40 65 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 ector(<span.class="tok-number">7
c7f60 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e </span>,.<span.class="tok-type">
c7f80 75 38 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 u8</span>).=.[_]<span.class="tok
c7fa0 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -type">u8</span>{.<span.class="t
c7fc0 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 6c 61 73 73 3d ok-str">'o'</span>,.<span.class=
c7fe0 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
c8000 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 61 6e 20 63 6c s="tok-str">'h'</span>,.<span.cl
c8020 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 73 70 61 6e 20 ass="tok-str">'e'</span>,.<span.
c8040 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 20 3c 73 70 61 class="tok-str">'r'</span>,.<spa
c8060 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 3e 2c 20 3c 73 n.class="tok-str">'z'</span>,.<s
c8080 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 61 6e 3e 20 7d pan.class="tok-str">'w'</span>.}
c80a0 3b 3c 2f 73 70 61 6e 3e 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">....
c80c0 3c 73 70 61 6e 20 63 6c 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
c80e0 3e 20 62 3a 20 56 65 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d >.b:.Vector(<span.class="tok-num
c8100 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">4</span>,.<span.class="tok-
c8120 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 type">u8</span>).=.[_]<span.clas
c8140 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c s="tok-type">u8</span>{.<span.cl
c8160 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 6e 20 ass="tok-str">'w'</span>,.<span.
c8180 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 70 61 class="tok-str">'d'</span>,.<spa
c81a0 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 3c 73 n.class="tok-str">'!'</span>,.<s
c81c0 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 20 7d pan.class="tok-str">'x'</span>.}
c81e0 3b 3c 2f 73 70 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
c8200 61 6e 3e 0a 3c 73 70 61 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
c8220 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 66 66 .class="tok-comment">//.To.shuff
c8240 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 73 20 le.within.a.single.vector,.pass.
c8260 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 6e 74 undefined.as.the.second.argument
c8280 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
c82a0 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"
c82c0 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 72 2c >//.Notice.that.we.can.re-order,
c82e0 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 66 20 .duplicate,.or.omit.elements.of.
c8300 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 0a 3c the.input.vector</span></span>.<
c8320 73 70 61 6e 20 63 6c 61 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
c8340 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 3a 20 56 s="tok-kw">const</span>.mask1:.V
c8360 65 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 ector(<span.class="tok-number">5
c8380 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e </span>,.<span.class="tok-type">
c83a0 69 33 32 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 i32</span>).=.[_]<span.class="to
c83c0 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 73 3d k-type">i32</span>{.<span.class=
c83e0 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
c8400 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">3</span>,.<span.
c8420 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 70 class="tok-number">1</span>,.<sp
c8440 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 2c 20 an.class="tok-number">1</span>,.
c8460 3c 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
c8480 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">.
c84a0 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
c84c0 70 61 6e 3e 20 72 65 73 31 3a 20 56 65 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>.res1:.Vector(<span.class="t
c84e0 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
c8500 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
c8520 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
c8540 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
c8560 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
c8580 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>.
c85a0 3c 73 70 61 6e 20 63 6c 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
c85c0 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
c85e0 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"
c8600 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
c8620 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
c8640 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
c8660 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)
c8680 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
c86a0 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
c86c0 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
c86e0 73 3d 22 6c 69 6e 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
c8700 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<
c8720 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"
c8740 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<
c8760 2f 73 70 61 6e 3e 20 6d 61 73 6b 32 3a 20 56 65 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.mask2:.Vector(<span.class
c8780 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 20 63 6c ="tok-number">6</span>,.<span.cl
c87a0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 5b 5f 5d ass="tok-type">i32</span>).=.[_]
c87c0 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
c87e0 3e 7b 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f >{.-<span.class="tok-number">1</
c8800 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">
c8820 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 0</span>,.<span.class="tok-numbe
c8840 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 6e 75 r">4</span>,.<span.class="tok-nu
c8860 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f mber">1</span>,.-<span.class="to
c8880 6b 2d 6e 75 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 k-number">2</span>,.-<span.class
c88a0 3d 22 74 6f 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 ="tok-number">3</span>.};</span>
c88c0 0a 3c 73 70 61 6e 20 63 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
c88e0 61 73 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 32 3a 20 ass="tok-kw">const</span>.res2:.
c8900 56 65 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e Vector(<span.class="tok-number">
c8920 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 6</span>,.<span.class="tok-type"
c8940 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 >u8</span>).=.<span.class="tok-b
c8960 75 69 6c 74 69 6e 22 3e 40 73 68 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c uiltin">@shuffle</span>(<span.cl
c8980 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 2c 20 62 2c 20 ass="tok-type">u8</span>,.a,.b,.
c89a0 6d 61 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 mask2);</span>.<span.class="line
c89c0 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</
c89e0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 span>.expect(std.mem.eql(<span.c
c8a00 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 26 61 6d 70 3b lass="tok-type">u8</span>,.&amp;
c8a20 3c 73 70 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
c8a40 70 61 6e 3e 28 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 pan>([<span.class="tok-number">6
c8a60 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
c8a80 38 3c 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 8</span>,.res2),.<span.class="to
c8aa0 6b 2d 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 k-str">&quot;world!&quot;</span>
c8ac0 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">}<
c8ae0 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
c8b00 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
c8b20 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 3c ">Shell</figcaption><pre><samp><
c8b40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 span.class="line">$.<kbd>zig.tes
c8b60 74 20 76 65 63 74 6f 72 5f 73 68 75 66 66 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e t.vector_shuffle.zig</kbd></span
c8b80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 >.<span.class="line">1/1.test.&q
c8ba0 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 2e 2e 2e 20 4f 4b 3c uot;vector.@shuffle&quot;....OK<
c8bc0 2f 73 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 6c 6c 20 31 20 /span>.<span.class="line">All.1.
c8be0 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 tests.passed.</span>.</samp></pr
c8c00 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:</
c8c20 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 56 65 p><ul>.<li><a.href="#Vectors">Ve
c8c40 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 ctors</a></li>.</ul>............
c8c60 20 20 20 20 3c 68 33 20 69 64 3d 22 73 69 7a 65 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ....<h3.id="sizeOf"><a.href="#to
c8c80 63 2d 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 c-sizeOf">@sizeOf</a>.<a.class="
c8ca0 68 64 72 22 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a hdr".href="#sizeOf">..</a></h3>.
c8cc0 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
c8ce0 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">@
c8d00 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 74 6f 6b 2d 6b sizeOf</span>(<span.class="tok-k
c8d20 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 w">comptime</span>.T:.<span.clas
c8d40 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 s="tok-type">type</span>).<span.
c8d60 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 class="tok-type">comptime_int</s
c8d80 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>.......<
c8da0 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 p>.......This.function.returns.t
c8dc0 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 69 74 20 74 61 6b 65 73 20 74 6f 20 73 he.number.of.bytes.it.takes.to.s
c8de0 74 6f 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 3e 54 3c tore.<code><span.class="line">T<
c8e00 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 6d 65 6d 6f 72 79 2e 0a 20 20 20 20 20 20 54 /span></code>.in.memory........T
c8e20 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 he.result.is.a.target-specific.c
c8e40 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ompile.time.constant........</p>
c8e60 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 73 69 7a 65 20 6d 61 79 20 63 .......<p>.......This.size.may.c
c8e80 6f 6e 74 61 69 6e 20 70 61 64 64 69 6e 67 20 62 79 74 65 73 2e 20 49 66 20 74 68 65 72 65 20 77 ontain.padding.bytes..If.there.w
c8ea0 65 72 65 20 74 77 6f 20 63 6f 6e 73 65 63 75 74 69 76 65 20 54 20 69 6e 20 6d 65 6d 6f 72 79 2c ere.two.consecutive.T.in.memory,
c8ec0 20 74 68 69 73 20 77 6f 75 6c 64 20 62 65 20 74 68 65 20 6f 66 66 73 65 74 0a 20 20 20 20 20 20 .this.would.be.the.offset.......
c8ee0 69 6e 20 62 79 74 65 73 20 62 65 74 77 65 65 6e 20 65 6c 65 6d 65 6e 74 20 61 74 20 69 6e 64 65 in.bytes.between.element.at.inde
c8f00 78 20 30 20 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 61 74 20 69 6e 64 65 78 20 31 2e 20 x.0.and.the.element.at.index.1..
c8f20 46 6f 72 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 3c For.<a.href="#Integers">integer<
c8f40 2f 61 3e 2c 0a 20 20 20 20 20 20 63 6f 6e 73 69 64 65 72 20 77 68 65 74 68 65 72 20 79 6f 75 20 /a>,.......consider.whether.you.
c8f60 77 61 6e 74 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 22 6c want.to.use.<code><span.class="l
c8f80 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">@
c8fa0 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 54 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f sizeOf</span>(T)</span></code>.o
c8fc0 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 3d 22 6c 69 6e 65 22 r.......<code><span.class="line"
c8fe0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 ><span.class="tok-builtin">@type
c9000 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 2e 62 69 74 73 3c 2f 73 70 61 6e 3e 3c 2f Info</span>(T).Int.bits</span></
c9020 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>.....
c9040 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 7a ..This.function.measures.the.siz
c9060 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 65 e.at.runtime..For.types.that.are
c9080 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 0a .disallowed.at.runtime,.such.as.
c90a0 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"><
c90c0 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
c90e0 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 64 nt</span></span></code>.and.<cod
c9100 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
c9120 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 2f ="tok-type">type</span></span></
c9140 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 6e code>,.the.result.is.<code><span
c9160 20 63 6c 61 73 73 3d 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
c9180 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 20 umber">0</span></span></code>...
c91a0 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e .....</p>.......<p>See.also:</p>
c91c0 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 69 74 53 69 7a 65 4f 66 22 3e 40 62 <ul>.<li><a.href="#bitSizeOf">@b
c91e0 69 74 53 69 7a 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 itSizeOf</a></li>.<li><a.href="#
c9200 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 typeInfo">@typeInfo</a></li>.</u
c9220 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 70 6c 61 74 22 l>................<h3.id="splat"
c9240 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e ><a.href="#toc-splat">@splat</a>
c9260 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 70 6c 61 74 22 3e c2 a7 .<a.class="hdr".href="#splat">..
c9280 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
c92a0 6e 20 63 6c 61 73 73 3d 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-
c92c0 62 75 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 builtin">@splat</span>(<span.cla
c92e0 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 6c 65 6e 3a ss="tok-kw">comptime</span>.len:
c9300 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
c9320 6e 3e 2c 20 73 63 61 6c 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 n>,.scalar:.<span.class="tok-kw"
c9340 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 56 65 63 74 6f 72 >anytype</span>).std.meta.Vector
c9360 28 6c 65 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e (len,.<span.class="tok-builtin">
c9380 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 73 63 61 6c 61 72 29 29 3c 2f 73 70 61 6e 3e 3c 2f @TypeOf</span>(scalar))</span></
c93a0 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 72 6f 64 code></pre>.......<p>.......Prod
c93c0 75 63 65 73 20 61 20 76 65 63 74 6f 72 20 6f 66 20 6c 65 6e 67 74 68 20 3c 63 6f 64 65 3e 3c 73 uces.a.vector.of.length.<code><s
c93e0 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 63 6f 64 pan.class="line">len</span></cod
c9400 65 3e 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 65 20 76 61 6c e>.where.each.element.is.the.val
c9420 75 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 65 ue.......<code><span.class="line
c9440 22 3e 73 63 61 6c 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f ">scalar</span></code>:.......</
c9460 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
c9480 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">
c94a0 76 65 63 74 6f 72 5f 73 70 6c 61 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 vector_splat.zig</cite></figcapt
c94c0 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
c94e0 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
c9500 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
c9520 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="
c9540 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>)
c9560 3b 3c 2f 73 70 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
c9580 6e 20 63 6c 61 73 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
c95a0 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
c95c0 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
c95e0 61 6e 20 63 6c 61 73 73 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
c9600 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
c9620 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 73 70 6c 61 74 26 71 75 6f 74 3b k-str">&quot;vector.@splat&quot;
c9640 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
c9660 6e 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
c9680 73 74 3c 2f 73 70 61 6e 3e 20 73 63 61 6c 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 st</span>.scalar:.<span.class="t
c96a0 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
c96c0 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 6e 3e 0a s="tok-number">5</span>;</span>.
c96e0 3c 73 70 61 6e 20 63 6c 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
c9700 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 ss="tok-kw">const</span>.result.
c9720 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 6c =.<span.class="tok-builtin">@spl
c9740 61 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 at</span>(<span.class="tok-numbe
c9760 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 73 63 61 6c 61 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 r">4</span>,.scalar);</span>.<sp
c9780 61 6e 20 63 6c 61 73 73 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=
c97a0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 "tok-kw">comptime</span>.<span.c
c97c0 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(
c97e0 3c 73 70 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
c9800 66 3c 2f 73 70 61 6e 3e 28 72 65 73 75 6c 74 29 20 3d 3d 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 f</span>(result).==.std.meta.Vec
c9820 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f tor(<span.class="tok-number">4</
c9840 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 33 span>,.<span.class="tok-type">u3
c9860 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 73 3d 22 2</span>));</span>.<span.class="
c9880 6c 69 6e 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
c98a0 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 ry</span>.expect(std.mem.eql(<sp
c98c0 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 20 an.class="tok-type">u32</span>,.
c98e0 26 61 6d 70 3b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 &amp;<span.class="tok-builtin">@
c9900 61 73 3c 2f 73 70 61 6e 3e 28 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 as</span>([<span.class="tok-numb
c9920 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 er">4</span>]<span.class="tok-ty
c9940 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 2c 20 26 61 6d 70 3b 5b 5f pe">u32</span>,.result),.&amp;[_
c9960 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 61 ]<span.class="tok-type">u32</spa
c9980 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f n>{.<span.class="tok-number">5</
c99a0 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">
c99c0 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
c99e0 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
c9a00 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 61 6e mber">5</span>.}));</span>.<span
c9a20 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
c9a40 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.
c9a60 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
c9a80 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
c9aa0 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 76 65 63 74 6f 72 5f 73 70 6c 61 74 2e 7a ">$.<kbd>zig.test.vector_splat.z
c9ac0 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
c9ae0 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 73 70 6c 61 74 26 e">1/1.test.&quot;vector.@splat&
c9b00 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;....OK</span>.<span.class="
c9b20 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e line">All.1.tests.passed.</span>
c9b40 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
c9b60 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"
c9b80 3e 73 63 61 6c 61 72 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 >scalar</span></code>.must.be.an
c9ba0 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 3c 2f 61 3e .<a.href="#Integers">integer</a>
c9bc0 2c 20 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f ,.<a.href="#Primitive-Types">boo
c9be0 6c 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 66 l</a>,.......<a.href="#Floats">f
c9c00 6c 6f 61 74 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 loat</a>,.or.<a.href="#Pointers"
c9c20 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c >pointer</a>........</p>.......<
c9c40 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=
c9c60 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 6c 69 3e "#Vectors">Vectors</a></li>.<li>
c9c80 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 61 3e 3c <a.href="#shuffle">@shuffle</a><
c9ca0 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 64 /li>.</ul>................<h3.id
c9cc0 3d 22 72 65 64 75 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 72 65 64 75 63 65 22 3e ="reduce"><a.href="#toc-reduce">
c9ce0 40 72 65 64 75 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d @reduce</a>.<a.class="hdr".href=
c9d00 22 23 72 65 64 75 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 "#reduce">..</a></h3>........<pr
c9d20 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
c9d40 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 75 63 65 3c 2f 73 70 .class="tok-builtin">@reduce</sp
c9d60 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
c9d80 65 3c 2f 73 70 61 6e 3e 20 6f 70 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 52 65 64 75 63 65 4f e</span>.op:.std.builtin.ReduceO
c9da0 70 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 3e 61 p,.value:.<span.class="tok-kw">a
c9dc0 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 73 74 64 2e 6d 65 74 61 2e 43 68 69 6c 64 28 76 61 nytype</span>).std.meta.Child(va
c9de0 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 3c lue)</span></code></pre>.......<
c9e00 70 3e 0a 20 20 20 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 p>.......Transforms.a.<a.href="#
c9e20 56 65 63 74 6f 72 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 Vectors">vector</a>.into.a.scala
c9e40 72 20 76 61 6c 75 65 20 62 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 61 0a 20 20 20 20 20 20 73 65 r.value.by.performing.a.......se
c9e60 71 75 65 6e 74 69 61 6c 20 68 6f 72 69 7a 6f 6e 74 61 6c 20 72 65 64 75 63 74 69 6f 6e 20 6f 66 quential.horizontal.reduction.of
c9e80 20 69 74 73 20 65 6c 65 6d 65 6e 74 73 20 75 73 69 6e 67 20 74 68 65 20 73 70 65 63 69 66 69 65 .its.elements.using.the.specifie
c9ea0 64 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 6c 69 d.operator.<code><span.class="li
c9ec0 6e 65 22 3e 6f 70 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 ne">op</span></code>........</p>
c9ee0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 20 65 76 65 72 79 20 6f 70 65 72 61 .......<p>.......Not.every.opera
c9f00 74 6f 72 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 65 76 65 72 79 20 76 65 63 74 6f tor.is.available.for.every.vecto
c9f20 72 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 r.element.type:.......</p>......
c9f40 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 20 .<ul>...........<li><code><span.
c9f60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 41 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c class="line">.And</span></code>,
c9f80 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 2e 4f 72 3c 2f 73 .<code><span.class="line">.Or</s
c9fa0 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 6f 64 65 3e 3c pan></code>,.............<code><
c9fc0 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 6e 3e 3c 2f 63 span.class="line">.Xor</span></c
c9fe0 6f 64 65 3e 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 ode>.are.available.for..........
ca000 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
ca020 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 3c 2f n.class="tok-type">bool</span></
ca040 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 20 20 span></code>.vectors,</li>......
ca060 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
ca080 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 70 61 ">.Min</span></code>,.<code><spa
ca0a0 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 64 65 n.class="line">.Max</span></code
ca0c0 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 73 73 >,.............<code><span.class
ca0e0 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 6f 64 ="line">.Add</span></code>,.<cod
ca100 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 6e 3e e><span.class="line">.Mul</span>
ca120 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 76 61 69 6c 61 62 6c </code>.are.............availabl
ca140 65 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 66 6c 6f 61 74 69 6e 67 e.for.<a.href="#Floats">floating
ca160 20 70 6f 69 6e 74 3c 2f 61 3e 20 76 65 63 74 6f 72 73 2c 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 .point</a>.vectors,</li>........
ca180 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 76 61 69 6c 61 62 ...<li>Every.operator.is.availab
ca1a0 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 3e 69 6e 74 65 67 le.for.<a.href="#Integers">integ
ca1c0 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 20 3c 2f 75 6c 3e er</a>.vectors.</li>.......</ul>
ca1e0 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 3c 63 6f 64 65 .......<p>.......Note.that.<code
ca200 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 41 64 64 3c 2f 73 70 61 6e 3e 3c ><span.class="line">.Add</span><
ca220 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 69 /code>.and.<code><span.class="li
ca240 6e 65 22 3e 2e 4d 75 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 72 65 64 ne">.Mul</span></code>.......red
ca260 75 63 74 69 6f 6e 73 20 6f 6e 20 69 6e 74 65 67 72 61 6c 20 74 79 70 65 73 20 61 72 65 20 77 72 uctions.on.integral.types.are.wr
ca280 61 70 70 69 6e 67 3b 20 77 68 65 6e 20 61 70 70 6c 69 65 64 20 6f 6e 20 66 6c 6f 61 74 69 6e 67 apping;.when.applied.on.floating
ca2a0 20 70 6f 69 6e 74 0a 20 20 20 20 20 20 74 79 70 65 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e .point.......types.the.operation
ca2c0 20 61 73 73 6f 63 69 61 74 69 76 69 74 79 20 69 73 20 70 72 65 73 65 72 76 65 64 2c 20 75 6e 6c .associativity.is.preserved,.unl
ca2e0 65 73 73 20 74 68 65 20 66 6c 6f 61 74 20 6d 6f 64 65 20 69 73 0a 20 20 20 20 20 20 73 65 74 20 ess.the.float.mode.is.......set.
ca300 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 4f 70 74 69 to.<code><span.class="line">Opti
ca320 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a mized</span></code>........</p>.
ca340 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=
ca360 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 76 65 63 "zig-cap"><cite.class="file">vec
ca380 74 6f 72 5f 72 65 64 75 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f tor_reduce.zig</cite></figcaptio
ca3a0 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">
ca3c0 3c 73 70 61 6e 20 63 6c 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
ca3e0 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
ca400 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
ca420 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>);<
ca440 2f 73 70 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.
ca460 63 6c 61 73 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
ca480 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>.
ca4a0 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
ca4c0 20 63 6c 61 73 73 3d 22 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
ca4e0 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-
ca500 73 74 72 22 3e 26 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 72 65 64 75 63 65 26 71 75 6f 74 3b 3c str">&quot;vector.@reduce&quot;<
ca520 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
ca540 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
ca560 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 28 t</span>.value:.std.meta.Vector(
ca580 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e <span.class="tok-number">4</span
ca5a0 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 69 33 32 3c 2f 73 >,.<span.class="tok-type">i32</s
ca5c0 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 2d 74 79 70 65 pan>).=.[_]<span.class="tok-type
ca5e0 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">i32</span>{.<span.class="tok-n
ca600 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 umber">1</span>,.-<span.class="t
ca620 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
ca640 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2d 3c 73 70 61 6e 20 63 ="tok-number">1</span>,.-<span.c
ca660 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 lass="tok-number">1</span>.};</s
ca680 70 61 6e 3e 0a 3c 73 70 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
ca6a0 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.re
ca6c0 73 75 6c 74 20 3d 20 76 61 6c 75 65 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 sult.=.value.&gt;.<span.class="t
ca6e0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 6c 61 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 ok-builtin">@splat</span>(<span.
ca700 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">4</span>,.<sp
ca720 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
ca740 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 >(<span.class="tok-type">i32</sp
ca760 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<
ca780 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
ca7a0 6e 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
ca7c0 22 3e 2f 2f 20 72 65 73 75 6c 74 20 69 73 20 7b 20 74 72 75 65 2c 20 66 61 6c 73 65 2c 20 74 72 ">//.result.is.{.true,.false,.tr
ca7e0 75 65 2c 20 66 61 6c 73 65 20 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ue,.false.};</span></span>.<span
ca800 20 63 6c 61 73 73 3d 22 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
ca820 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">comptime</span>.<span.cla
ca840 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
ca860 70 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<
ca880 2f 73 70 61 6e 3e 28 72 65 73 75 6c 74 29 20 3d 3d 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f /span>(result).==.std.meta.Vecto
ca8a0 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 r(<span.class="tok-number">4</sp
ca8c0 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 62 6f 6f 6c an>,.<span.class="tok-type">bool
ca8e0 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
ca900 69 6e 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
ca920 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 73 5f 61 6c 6c 5f 74 72 75 65 20 3d 20 3c 73 70 61 6e 20 63 nst</span>.is_all_true.=.<span.c
ca940 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 64 75 63 65 3c 2f 73 70 61 6e lass="tok-builtin">@reduce</span
ca960 3e 28 2e 41 6e 64 2c 20 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >(.And,.result);</span>.<span.cl
ca980 61 73 73 3d 22 6c 69 6e 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-
ca9a0 6b 77 22 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 kw">comptime</span>.<span.class=
ca9c0 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
ca9e0 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
caa00 61 6e 3e 28 69 73 5f 61 6c 6c 5f 74 72 75 65 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an>(is_all_true).==.<span.class=
caa20 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a "tok-type">bool</span>);</span>.
caa40 3c 73 70 61 6e 20 63 6c 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
caa60 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 73 ss="tok-kw">try</span>.expect(is
caa80 5f 61 6c 6c 5f 74 72 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 _all_true.==.<span.class="tok-nu
caaa0 6c 6c 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 ll">false</span>);</span>.<span.
caac0 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
caae0 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
cab00 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
cab20 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
cab40 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 76 65 63 74 6f 72 5f 72 65 64 75 63 65 2e 7a >$.<kbd>zig.test.vector_reduce.z
cab60 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
cab80 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 72 65 64 75 63 65 e">1/1.test.&quot;vector.@reduce
caba0 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
cabc0 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e "line">All.1.tests.passed.</span
cabe0 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>.......<
cac00 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=
cac20 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 6c 69 3e "#Vectors">Vectors</a></li>.<li>
cac40 3c 61 20 68 72 65 66 3d 22 23 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 <a.href="#setFloatMode">@setFloa
cac60 74 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 tMode</a></li>.</ul>............
cac80 20 20 20 20 3c 68 33 20 69 64 3d 22 73 72 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 ....<h3.id="src"><a.href="#toc-s
caca0 72 63 22 3e 40 73 72 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 rc">@src</a>.<a.class="hdr".href
cacc0 3d 22 23 73 72 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e ="#src">..</a></h3>........<pre>
cace0 3c 63 6f 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
cad00 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 6e 3e 28 29 lass="tok-builtin">@src</span>()
cad20 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 53 6f 75 72 63 65 4c 6f 63 61 74 69 6f 6e 3c 2f 73 70 61 .std.builtin.SourceLocation</spa
cad40 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>.......
cad60 52 65 74 75 72 6e 73 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 Returns.a.<code><span.class="lin
cad80 65 22 3e 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 20 e">SourceLocation</span></code>.
cada0 73 74 72 75 63 74 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e struct.representing.the.function
cadc0 27 73 20 6e 61 6d 65 20 61 6e 64 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 6f 75 72 's.name.and.location.in.the.sour
cade0 63 65 20 63 6f 64 65 2e 20 54 68 69 73 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 69 6e 20 ce.code..This.must.be.called.in.
cae00 61 20 66 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 66 69 a.function........</p>.......<fi
cae20 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"
cae40 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 6f 75 72 63 65 5f 6c 6f 63 61 74 ><cite.class="file">source_locat
cae60 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ion.zig</cite></figcaption><pre>
cae80 3c 63 6f 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
caea0 6c 61 73 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.=
caec0 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
caee0 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">
caf00 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>.
caf20 3c 73 70 61 6e 20 63 6c 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="
caf40 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
caf60 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
caf80 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=
cafa0 22 6c 69 6e 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
cafc0 3c 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
cafe0 75 6f 74 3b 40 73 72 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c uot;@src&quot;</span>.{</span>.<
cb000 73 70 61 6e 20 63 6c 61 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
cb020 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 6f 54 68 65 54 65 73 74 28 s="tok-kw">try</span>.doTheTest(
cb040 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">}</
cb060 73 70 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>
cb080 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=
cb0a0 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="
cb0c0 74 6f 6b 2d 66 6e 22 3e 64 6f 54 68 65 54 65 73 74 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 tok-fn">doTheTest</span>().!<spa
cb0e0 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>.{
cb100 3c 2f 73 70 61 6e 3e 0a 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">....<
cb120 73 70 61 6e 20 63 6c 61 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>
cb140 20 73 72 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .src.=.<span.class="tok-builtin"
cb160 3e 40 73 72 63 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 61 >@src</span>();</span>.<span.cla
cb180 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
cb1a0 69 6e 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
cb1c0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 72 63 2e 6c 69 6e 65 20 3d 3d 20 3c 73 70 61 y</span>.expect(src.line.==.<spa
cb1e0 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 29 3b 3c n.class="tok-number">9</span>);<
cb200 2f 73 70 61 6e 3e 0a 3c 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
cb220 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
cb240 70 65 63 74 28 73 72 63 2e 63 6f 6c 75 6d 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pect(src.column.==.<span.class="
cb260 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 37 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-number">17</span>);</span>.<
cb280 73 70 61 6e 20 63 6c 61 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
cb2a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 s="tok-kw">try</span>.expect(std
cb2c0 2e 6d 65 6d 2e 65 6e 64 73 57 69 74 68 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .mem.endsWith(<span.class="tok-t
cb2e0 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 72 63 2e 66 6e 5f 6e 61 6d 65 2c 20 3c 73 70 ype">u8</span>,.src.fn_name,.<sp
cb300 61 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 6f 54 68 65 54 65 an.class="tok-str">&quot;doTheTe
cb320 73 74 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 st&quot;</span>));</span>.<span.
cb340 63 6c 61 73 73 3d 22 6c 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
cb360 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.
cb380 65 6e 64 73 57 69 74 68 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e endsWith(<span.class="tok-type">
cb3a0 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 72 63 2e 66 69 6c 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 u8</span>,.src.file,.<span.class
cb3c0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 6f 75 72 63 65 5f 6c 6f 63 61 74 69 6f 6e ="tok-str">&quot;source_location
cb3e0 2e 7a 69 67 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 .zig&quot;</span>));</span>.<spa
cb400 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></
cb420 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
cb440 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
cb460 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
cb480 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 6f 75 72 63 65 5f 6c 6f 63 61 74 69 e">$.<kbd>zig.test.source_locati
cb4a0 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d on.zig</kbd></span>.<span.class=
cb4c0 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 73 72 63 26 71 75 6f 74 3b "line">1/1.test.&quot;@src&quot;
cb4e0 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....OK</span>.<span.class="line"
cb500 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 >All.1.tests.passed.</span>.</sa
cb520 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>..............
cb540 3c 68 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 <h3.id="sqrt"><a.href="#toc-sqrt
cb560 22 3e 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 ">@sqrt</a>.<a.class="hdr".href=
cb580 22 23 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 "#sqrt">..</a></h3>........<pre>
cb5a0 3c 63 6f 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
cb5c0 6c 61 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 lass="tok-builtin">@sqrt</span>(
cb5e0 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
cb600 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ype</span>).<span.class="tok-bui
cb620 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 ltin">@TypeOf</span>(value)</spa
cb640 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>.......
cb660 50 65 72 66 6f 72 6d 73 20 74 68 65 20 73 71 75 61 72 65 20 72 6f 6f 74 20 6f 66 20 61 20 66 6c Performs.the.square.root.of.a.fl
cb680 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 oating.point.number..Uses.a.dedi
cb6a0 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 cated.hardware.instruction......
cb6c0 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .when.available........</p>.....
cb6e0 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 ..<p>.......Supports.<a.href="#F
cb700 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 loats">Floats</a>.and.<a.href="#
cb720 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 Vectors">Vectors</a>.of.floats,.
cb740 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 with.the.caveat.that.......<a.hr
cb760 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 61 6e 67 2f 7a ef="https://github.com/ziglang/z
cb780 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 ig/issues/4026">some.float.opera
cb7a0 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f tions.are.not.yet.implemented.fo
cb7c0 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 r.all.float.types</a>........</p
cb7e0 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 6e 22 3e 3c 61 20 68 >..............<h3.id="sin"><a.h
cb800 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 61 20 63 6c 61 73 73 ref="#toc-sin">@sin</a>.<a.class
cb820 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 3c 2f 68 33 3e 0a 0a ="hdr".href="#sin">..</a></h3>..
cb840 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
cb860 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 73 ne"><span.class="tok-builtin">@s
cb880 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 61 73 73 3d 22 74 6f in</span>(value:.<span.class="to
cb8a0 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
cb8c0 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
cb8e0 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>.......
cb900 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 72 69 63 20 66 75 6e <p>.......Sine.trigonometric.fun
cb920 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 ction.on.a.floating.point.number
cb940 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 ..Uses.a.dedicated.hardware.inst
cb960 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 ruction.......when.available....
cb980 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 ....</p>.......<p>.......Support
cb9a0 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 s.<a.href="#Floats">Floats</a>.a
cb9c0 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 nd.<a.href="#Vectors">Vectors</a
cb9e0 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 >.of.floats,.with.the.caveat.tha
cba00 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e t.......<a.href="https://github.
cba20 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d com/ziglang/zig/issues/4026">som
cba40 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 e.float.operations.are.not.yet.i
cba60 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f mplemented.for.all.float.types</
cba80 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 a>........</p>..............<h3.
cbaa0 69 64 3d 22 63 6f 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6f 73 22 3e 40 63 6f 73 id="cos"><a.href="#toc-cos">@cos
cbac0 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 73 22 3e </a>.<a.class="hdr".href="#cos">
cbae0 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
cbb00 70 61 6e 20 63 6c 61 73 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
cbb20 6b 2d 62 75 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 k-builtin">@cos</span>(value:.<s
cbb40 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
cbb60 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
cbb80 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>
cbba0 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 73 69 6e 65 20 74 72 </pre>.......<p>.......Cosine.tr
cbbc0 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 69 igonometric.function.on.a.floati
cbbe0 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 ng.point.number..Uses.a.dedicate
cbc00 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 d.hardware.instruction.......whe
cbc20 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 n.available........</p>.......<p
cbc40 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 >.......Supports.<a.href="#Float
cbc60 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 s">Floats</a>.and.<a.href="#Vect
cbc80 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 2c 20 77 69 74 68 ors">Vectors</a>.of.floats,.with
cbca0 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 .the.caveat.that.......<a.href="
cbcc0 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
cbce0 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e ssues/4026">some.float.operation
cbd00 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c s.are.not.yet.implemented.for.al
cbd20 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 l.float.types</a>........</p>...
cbd40 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 70 22 3e 3c 61 20 68 72 65 66 3d ...........<h3.id="exp"><a.href=
cbd60 22 23 74 6f 63 2d 65 78 70 22 3e 40 65 78 70 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 "#toc-exp">@exp</a>.<a.class="hd
cbd80 72 22 20 68 72 65 66 3d 22 23 65 78 70 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 r".href="#exp">..</a></h3>......
cbda0 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">
cbdc0 3c 73 70 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 70 3c 2f <span.class="tok-builtin">@exp</
cbde0 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
cbe00 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
cbe20 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 ok-builtin">@TypeOf</span>(value
cbe40 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 3e 0a )</span></code></pre>.......<p>.
cbe60 20 20 20 20 20 20 42 61 73 65 2d 65 20 65 78 70 6f 6e 65 6e 74 69 61 6c 20 66 75 6e 63 74 69 6f ......Base-e.exponential.functio
cbe80 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 n.on.a.floating.point.number..Us
cbea0 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 es.a.dedicated.hardware.instruct
cbec0 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 ion.......when.available........
cbee0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 </p>.......<p>.......Supports.<a
cbf00 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c .href="#Floats">Floats</a>.and.<
cbf20 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 a.href="#Vectors">Vectors</a>.of
cbf40 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 .floats,.with.the.caveat.that...
cbf60 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/
cbf80 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c ziglang/zig/issues/4026">some.fl
cbfa0 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 oat.operations.are.not.yet.imple
cbfc0 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a mented.for.all.float.types</a>..
cbfe0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 ......</p>..............<h3.id="
cc000 65 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 exp2"><a.href="#toc-exp2">@exp2<
cc020 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 70 32 22 3e /a>.<a.class="hdr".href="#exp2">
cc040 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
cc060 70 61 6e 20 63 6c 61 73 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
cc080 6b 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 k-builtin">@exp2</span>(value:.<
cc0a0 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
cc0c0 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 n>).<span.class="tok-builtin">@T
cc0e0 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 63 6f 64 65 ypeOf</span>(value)</span></code
cc100 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 61 73 65 2d 32 20 65 ></pre>.......<p>.......Base-2.e
cc120 78 70 6f 6e 65 6e 74 69 61 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e xponential.function.on.a.floatin
cc140 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 g.point.number..Uses.a.dedicated
cc160 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e .hardware.instruction.......when
cc180 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e .available........</p>.......<p>
cc1a0 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 .......Supports.<a.href="#Floats
cc1c0 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f ">Floats</a>.and.<a.href="#Vecto
cc1e0 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 2c 20 77 69 74 68 20 rs">Vectors</a>.of.floats,.with.
cc200 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 the.caveat.that.......<a.href="h
cc220 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
cc240 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 sues/4026">some.float.operations
cc260 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c .are.not.yet.implemented.for.all
cc280 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .float.types</a>........</p>....
cc2a0 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6c 6f 67 22 3e 3c 61 20 68 72 65 66 3d 22 ..........<h3.id="log"><a.href="
cc2c0 23 74 6f 63 2d 6c 6f 67 22 3e 40 6c 6f 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 #toc-log">@log</a>.<a.class="hdr
cc2e0 22 20 68 72 65 66 3d 22 23 6c 6f 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ".href="#log">..</a></h3>.......
cc300 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"><
cc320 73 70 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 67 3c 2f 73 span.class="tok-builtin">@log</s
cc340 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 pan>(value:.<span.class="tok-kw"
cc360 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >anytype</span>).<span.class="to
cc380 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 k-builtin">@TypeOf</span>(value)
cc3a0 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>..
cc3c0 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6e 61 74 75 72 61 6c 20 6c 6f 67 61 72 69 74 .....Returns.the.natural.logarit
cc3e0 68 6d 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 hm.of.a.floating.point.number..U
cc400 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 74 72 75 63 ses.a.dedicated.hardware.instruc
cc420 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 tion.......when.available.......
cc440 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 3c .</p>.......<p>.......Supports.<
cc460 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 20 a.href="#Floats">Floats</a>.and.
cc480 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 6f <a.href="#Vectors">Vectors</a>.o
cc4a0 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 f.floats,.with.the.caveat.that..
cc4c0 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d .....<a.href="https://github.com
cc4e0 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 /ziglang/zig/issues/4026">some.f
cc500 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c loat.operations.are.not.yet.impl
cc520 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e emented.for.all.float.types</a>.
cc540 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 3d .......</p>..............<h3.id=
cc560 22 6c 6f 67 32 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6c 6f 67 32 22 3e 40 6c 6f 67 32 "log2"><a.href="#toc-log2">@log2
cc580 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 6c 6f 67 32 22 </a>.<a.class="hdr".href="#log2"
cc5a0 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><
cc5c0 73 70 61 6e 20 63 6c 61 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
cc5e0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f 67 32 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 ok-builtin">@log2</span>(value:.
cc600 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
cc620 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 22 3e 40 an>).<span.class="tok-builtin">@
cc640 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 63 6f 64 TypeOf</span>(value)</span></cod
cc660 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 e></pre>.......<p>.......Returns
cc680 20 74 68 65 20 6c 6f 67 61 72 69 74 68 6d 20 74 6f 20 74 68 65 20 62 61 73 65 20 32 20 6f 66 20 .the.logarithm.to.the.base.2.of.
cc6a0 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 a.floating.point.number..Uses.a.
cc6c0 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 20 dedicated.hardware.instruction..
cc6e0 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 0a .....when.available........</p>.
cc700 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 66 ......<p>.......Supports.<a.href
cc720 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 65 ="#Floats">Floats</a>.and.<a.hre
cc740 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 61 f="#Vectors">Vectors</a>.of.floa
cc760 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c ts,.with.the.caveat.that.......<
cc780 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 61 a.href="https://github.com/zigla
cc7a0 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f ng/zig/issues/4026">some.float.o
cc7c0 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 perations.are.not.yet.implemente
cc7e0 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 d.for.all.float.types</a>.......
cc800 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6c 6f 67 31 30 .</p>..............<h3.id="log10
cc820 22 3e 3c 61 20 68 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 "><a.href="#toc-log10">@log10</a
cc840 3e 20 3c 61 20 63 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 >.<a.class="hdr".href="#log10">.
cc860 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
cc880 61 6e 20 63 6c 61 73 73 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
cc8a0 2d 62 75 69 6c 74 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 -builtin">@log10</span>(value:.<
cc8c0 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
cc8e0 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 n>).<span.class="tok-builtin">@T
cc900 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 63 6f 64 65 ypeOf</span>(value)</span></code
cc920 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 ></pre>.......<p>.......Returns.
cc940 74 68 65 20 6c 6f 67 61 72 69 74 68 6d 20 74 6f 20 74 68 65 20 62 61 73 65 20 31 30 20 6f 66 20 the.logarithm.to.the.base.10.of.
cc960 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 a.floating.point.number..Uses.a.
cc980 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 20 dedicated.hardware.instruction..
cc9a0 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 0a .....when.available........</p>.
cc9c0 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 66 ......<p>.......Supports.<a.href
cc9e0 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 65 ="#Floats">Floats</a>.and.<a.hre
cca00 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 61 f="#Vectors">Vectors</a>.of.floa
cca20 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c ts,.with.the.caveat.that.......<
cca40 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 61 a.href="https://github.com/zigla
cca60 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f ng/zig/issues/4026">some.float.o
cca80 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 perations.are.not.yet.implemente
ccaa0 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 d.for.all.float.types</a>.......
ccac0 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 62 73 22 .</p>..............<h3.id="fabs"
ccae0 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 3e 20 3c ><a.href="#toc-fabs">@fabs</a>.<
ccb00 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 3c 2f 61 a.class="hdr".href="#fabs">..</a
ccb20 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
ccb40 6c 61 73 73 3d 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
ccb60 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 61 6e 20 ltin">@fabs</span>(value:.<span.
ccb80 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>).<
ccba0 73 70 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
ccbc0 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
ccbe0 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 20 61 e>.......<p>.......Returns.the.a
ccc00 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 6f 69 6e bsolute.value.of.a.floating.poin
ccc20 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
ccc40 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
ccc60 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>......
ccc80 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
ccca0 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
cccc0 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 ctors</a>.of.floats,.with.the.ca
ccce0 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f veat.that.......<a.href="https:/
ccd00 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 34 /github.com/ziglang/zig/issues/4
ccd20 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 026">some.float.operations.are.n
ccd40 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 ot.yet.implemented.for.all.float
ccd60 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 .types</a>........</p>..........
ccd80 20 20 20 20 3c 68 33 20 69 64 3d 22 66 6c 6f 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ....<h3.id="floor"><a.href="#toc
ccda0 2d 66 6c 6f 6f 72 22 3e 40 66 6c 6f 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 -floor">@floor</a>.<a.class="hdr
ccdc0 22 20 68 72 65 66 3d 22 23 66 6c 6f 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 ".href="#floor">..</a></h3>.....
ccde0 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"
cce00 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 6c 6f 6f ><span.class="tok-builtin">@floo
cce20 72 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 r</span>(value:.<span.class="tok
cce40 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
cce60 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 ="tok-builtin">@TypeOf</span>(va
cce80 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 3c lue)</span></code></pre>.......<
ccea0 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6c 61 72 67 65 73 74 20 69 6e 74 p>.......Returns.the.largest.int
ccec0 65 67 72 61 6c 20 76 61 6c 75 65 20 6e 6f 74 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 74 68 65 egral.value.not.greater.than.the
ccee0 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 20 20 .given.floating.point.number....
ccf00 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 69 6e ....Uses.a.dedicated.hardware.in
ccf20 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 20 20 struction.when.available........
ccf40 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 </p>.......<p>.......Supports.<a
ccf60 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c .href="#Floats">Floats</a>.and.<
ccf80 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 a.href="#Vectors">Vectors</a>.of
ccfa0 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 .floats,.with.the.caveat.that...
ccfc0 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/
ccfe0 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c ziglang/zig/issues/4026">some.fl
cd000 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 oat.operations.are.not.yet.imple
cd020 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a mented.for.all.float.types</a>..
cd040 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 ......</p>..............<h3.id="
cd060 63 65 69 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 65 69 6c 22 3e 40 63 65 69 6c 3c ceil"><a.href="#toc-ceil">@ceil<
cd080 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 65 69 6c 22 3e /a>.<a.class="hdr".href="#ceil">
cd0a0 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
cd0c0 70 61 6e 20 63 6c 61 73 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
cd0e0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 65 69 6c 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c k-builtin">@ceil</span>(value:.<
cd100 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
cd120 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 n>).<span.class="tok-builtin">@T
cd140 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 63 6f 64 65 ypeOf</span>(value)</span></code
cd160 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 ></pre>.......<p>.......Returns.
cd180 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 69 6e 74 65 67 72 61 6c 20 76 61 6c 75 65 20 6e 6f 74 20 the.smallest.integral.value.not.
cd1a0 6c 65 73 73 20 74 68 61 6e 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 less.than.the.given.floating.poi
cd1c0 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 nt.number........Uses.a.dedicate
cd1e0 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 69 d.hardware.instruction.when.avai
cd200 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 20 lable........</p>.......<p>.....
cd220 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 6f ..Supports.<a.href="#Floats">Flo
cd240 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 56 ats</a>.and.<a.href="#Vectors">V
cd260 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 ectors</a>.of.floats,.with.the.c
cd280 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a aveat.that.......<a.href="https:
cd2a0 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/
cd2c0 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 4026">some.float.operations.are.
cd2e0 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 not.yet.implemented.for.all.floa
cd300 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 t.types</a>........</p>.........
cd320 20 20 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 .....<h3.id="trunc"><a.href="#to
cd340 63 2d 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 c-trunc">@trunc</a>.<a.class="hd
cd360 72 22 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 r".href="#trunc">..</a></h3>....
cd380 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
cd3a0 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
cd3c0 6e 63 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 nc</span>(value:.<span.class="to
cd3e0 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
cd400 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
cd420 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>.......
cd440 3c 70 3e 0a 20 20 20 20 20 20 52 6f 75 6e 64 73 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 <p>.......Rounds.the.given.float
cd460 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 ing.point.number.to.an.integer,.
cd480 74 6f 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 towards.zero........Uses.a.dedic
cd4a0 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 65 6e 20 61 ated.hardware.instruction.when.a
cd4c0 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 20 vailable........</p>.......<p>..
cd4e0 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 3e .....Supports.<a.href="#Floats">
cd500 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 73 Floats</a>.and.<a.href="#Vectors
cd520 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 ">Vectors</a>.of.floats,.with.th
cd540 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 e.caveat.that.......<a.href="htt
cd560 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 ps://github.com/ziglang/zig/issu
cd580 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 es/4026">some.float.operations.a
cd5a0 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 re.not.yet.implemented.for.all.f
cd5c0 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 loat.types</a>........</p>......
cd5e0 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 20 68 72 65 66 3d 22 ........<h3.id="round"><a.href="
cd600 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 20 63 6c 61 73 73 3d #toc-round">@round</a>.<a.class=
cd620 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 3e 3c 2f 68 33 3e 0a "hdr".href="#round">..</a></h3>.
cd640 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
cd660 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">@
cd680 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 20 63 6c 61 73 73 3d round</span>(value:.<span.class=
cd6a0 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
cd6c0 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
cd6e0 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>....
cd700 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 6f 75 6e 64 73 20 74 68 65 20 67 69 76 65 6e 20 66 6c ...<p>.......Rounds.the.given.fl
cd720 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 oating.point.number.to.an.intege
cd740 72 2c 20 61 77 61 79 20 66 72 6f 6d 20 7a 65 72 6f 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 r,.away.from.zero..Uses.a.dedica
cd760 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
cd780 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>.......
cd7a0 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
cd7c0 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
cd7e0 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 2c 20 77 69 ctors">Vectors</a>.of.floats,.wi
cd800 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 th.the.caveat.that.......<a.href
cd820 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
cd840 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 /issues/4026">some.float.operati
cd860 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 ons.are.not.yet.implemented.for.
cd880 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a all.float.types</a>........</p>.
cd8a0 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 75 62 57 69 74 68 4f 76 65 ..............<h3.id="subWithOve
cd8c0 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 75 62 57 69 74 68 4f 76 65 72 rflow"><a.href="#toc-subWithOver
cd8e0 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 20 3c 61 20 63 6c flow">@subWithOverflow</a>.<a.cl
cd900 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 ass="hdr".href="#subWithOverflow
cd920 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>
cd940 3c 73 70 61 6e 20 63 6c 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="
cd960 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 tok-builtin">@subWithOverflow</s
cd980 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
cd9a0 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
cd9c0 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 2c 20 72 65 73 pe">type</span>,.a:.T,.b:.T,.res
cd9e0 75 6c 74 3a 20 2a 54 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 ult:.*T).<span.class="tok-type">
cda00 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 0a bool</span></span></code></pre>.
cda20 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 3c ......<p>.......Performs.<code><
cda40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 2e 2a 20 3d 20 61 20 2d span.class="line">result.*.=.a.-
cda60 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 6f 76 65 72 66 6c 6f 77 20 6f 72 .b</span></code>..If.overflow.or
cda80 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 20 20 20 20 20 20 73 74 6f .underflow.occurs,...........sto
cdaa0 72 65 73 20 74 68 65 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 20 69 6e 20 3c 63 6f 64 65 res.the.overflowed.bits.in.<code
cdac0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 3c 2f 73 70 61 6e ><span.class="line">result</span
cdae0 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ></code>.and.returns.<code><span
cdb00 20 63 6c 61 73 73 3d 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
cdb20 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 2e 0a ull">true</span></span></code>..
cdb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 6f 76 65 72 66 6c 6f 77 ..................If.no.overflow
cdb60 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 20 72 65 74 75 72 6e 73 20 3c 63 .or.underflow.occurs,.returns.<c
cdb80 6f 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
cdba0 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 6e ss="tok-null">false</span></span
cdbc0 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 20 20 20 ></code>........</p>............
cdbe0 20 20 20 3c 68 33 20 69 64 3d 22 74 61 67 4e 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ...<h3.id="tagName"><a.href="#to
cdc00 63 2d 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 c-tagName">@tagName</a>.<a.class
cdc20 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ="hdr".href="#tagName">..</a></h
cdc40 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
cdc60 3d 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
cdc80 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 ">@tagName</span>(value:.<span.c
cdca0 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 5b 3a lass="tok-kw">anytype</span>).[:
cdcc0 3c 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
cdce0 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 >]<span.class="tok-kw">const</sp
cdd00 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
cdd20 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>.......<
cdd40 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 20 76 61 6c 75 65 20 p>.......Converts.an.enum.value.
cdd60 6f 72 20 75 6e 69 6f 6e 20 76 61 6c 75 65 20 74 6f 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 or.union.value.to.a.string.liter
cdd80 61 6c 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 6e 61 6d 65 2e 3c 2f 70 3e 3c 70 3e al.representing.the.name.</p><p>
cdda0 49 66 20 74 68 65 20 65 6e 75 6d 20 69 73 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 61 6e If.the.enum.is.non-exhaustive.an
cddc0 64 20 74 68 65 20 74 61 67 20 76 61 6c 75 65 20 64 6f 65 73 20 6e 6f 74 20 6d 61 70 20 74 6f 20 d.the.tag.value.does.not.map.to.
cdde0 61 20 6e 61 6d 65 2c 20 69 74 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 a.name,.it.invokes.safety-checke
cde00 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 72 22 3e d.<a.href="#Undefined-Behavior">
cde20 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 20 3c 2f Undefined.Behavior</a>........</
cde40 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 68 69 73 22 3e 3c p>...............<h3.id="This"><
cde60 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 68 69 73 22 3e 40 54 68 69 73 3c 2f 61 3e 20 3c 61 20 a.href="#toc-This">@This</a>.<a.
cde80 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 68 69 73 22 3e c2 a7 3c 2f 61 3e 3c class="hdr".href="#This">..</a><
cdea0 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
cdec0 73 73 3d 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
cdee0 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 in">@This</span>().<span.class="
cdf00 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 6f tok-type">type</span></span></co
cdf20 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 75 72 6e de></pre>.......<p>.......Return
cdf40 73 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 74 20 73 74 72 75 63 74 2c 20 65 6e 75 6d 2c 20 6f 72 s.the.innermost.struct,.enum,.or
cdf60 20 75 6e 69 6f 6e 20 74 68 61 74 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 69 .union.that.this.function.call.i
cdf80 73 20 69 6e 73 69 64 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 66 s.inside........This.can.be.usef
cdfa0 75 6c 20 66 6f 72 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 74 68 61 74 20 ul.for.an.anonymous.struct.that.
cdfc0 6e 65 65 64 73 20 74 6f 20 72 65 66 65 72 20 74 6f 20 69 74 73 65 6c 66 3a 0a 20 20 20 20 20 20 needs.to.refer.to.itself:.......
cdfe0 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
ce000 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
ce020 22 3e 74 68 69 73 5f 69 6e 6e 65 72 6d 6f 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ">this_innermost.zig</cite></fig
ce040 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="
ce060 6c 69 6e 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
ce080 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
ce0a0 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
ce0c0 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
ce0e0 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">
ce100 3c 73 70 61 6e 20 63 6c 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
ce120 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;</
ce140 73 70 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>
ce160 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=
ce180 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
ce1a0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 54 68 69 73 28 29 26 71 75 6f 74 3b 3c 2f ="tok-str">&quot;@This()&quot;</
ce1c0 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
ce1e0 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</
ce200 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.items.=.[_]<span.class="to
ce220 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 73 3d k-type">i32</span>{.<span.class=
ce240 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">1</span>,.<span.cla
ce260 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">2</span>,.<span.
ce280 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">3</span>,.<sp
ce2a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d an.class="tok-number">4</span>.}
ce2c0 3b 3c 2f 73 70 61 6e 3e 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">....
ce2e0 3c 73 70 61 6e 20 63 6c 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
ce300 3e 20 6c 69 73 74 20 3d 20 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 >.list.=.List(<span.class="tok-t
ce320 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 7b 20 2e 69 74 65 6d 73 20 3d 20 69 74 65 6d 73 ype">i32</span>){..items.=.items
ce340 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
ce360 6e 3e 2e 2e 5d 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 n>..].};</span>.<span.class="lin
ce380 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<
ce3a0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6c 69 73 74 2e 6c 65 6e 67 74 68 28 29 20 3d 3d 20 3c /span>.expect(list.length().==.<
ce3c0 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>
ce3e0 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">}</
ce400 73 70 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>
ce420 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=
ce440 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="
ce460 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 3d tok-fn">List</span>(<span.class=
ce480 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
ce4a0 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 20 n.class="tok-type">type</span>).
ce4c0 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
ce4e0 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">.
ce500 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</
ce520 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 63 span>.<span.class="tok-kw">struc
ce540 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 6c t</span>.{</span>.<span.class="l
ce560 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
ce580 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 65 6c 66 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ">const</span>.Self.=.<span.clas
ce5a0 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 3b 3c s="tok-builtin">@This</span>();<
ce5c0 2f 73 70 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
ce5e0 3e 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 69 74 65 >.<span.class="line">........ite
ce600 6d 73 3a 20 5b 5d 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 ms:.[]T,</span>.<span.class="lin
ce620 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">..
ce640 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 ......<span.class="tok-kw">fn</s
ce660 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 6c 65 6e 67 74 68 pan>.<span.class="tok-fn">length
ce680 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 53 65 6c 66 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>(self:.Self).<span.class=
ce6a0 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>
ce6c0 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">............
ce6e0 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
ce700 6e 3e 20 73 65 6c 66 2e 69 74 65 6d 73 2e 6c 65 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 n>.self.items.len;</span>.<span.
ce720 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
ce740 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 3c pan.class="line">....};</span>.<
ce760 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
ce780 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
ce7a0 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
ce7c0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
ce7e0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 68 69 73 5f 69 6e 6e 65 72 line">$.<kbd>zig.test.this_inner
ce800 6d 6f 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 most.zig</kbd></span>.<span.clas
ce820 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 54 68 69 73 28 29 26 s="line">1/1.test.&quot;@This()&
ce840 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;....OK</span>.<span.class="
ce860 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e line">All.1.tests.passed.</span>
ce880 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
ce8a0 3e 0a 20 20 20 20 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 >.......When.<code><span.class="
ce8c0 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">
ce8e0 40 54 68 69 73 3c 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 @This</span>()</span></code>.is.
ce900 75 73 65 64 20 61 74 20 66 69 6c 65 20 73 63 6f 70 65 2c 20 69 74 20 72 65 74 75 72 6e 73 20 61 used.at.file.scope,.it.returns.a
ce920 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 73 74 72 75 63 74 20 74 .reference.to.the.......struct.t
ce940 68 61 74 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 hat.corresponds.to.the.current.f
ce960 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 ile........</p>...............<h
ce980 33 20 69 64 3d 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 3.id="truncate"><a.href="#toc-tr
ce9a0 75 6e 63 61 74 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 uncate">@truncate</a>.<a.class="
ce9c0 68 64 72 22 20 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 hdr".href="#truncate">..</a></h3
ce9e0 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=
cea00 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"
cea20 3e 40 74 72 75 6e 63 61 74 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >@truncate</span>(<span.class="t
cea40 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.
cea60 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 69 6e class="tok-type">type</span>,.in
cea80 74 65 67 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 teger:.<span.class="tok-kw">anyt
ceaa0 79 70 65 3c 2f 73 70 61 6e 3e 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ype</span>).T</span></code></pre
ceac0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 >.......<p>.......This.function.
ceae0 74 72 75 6e 63 61 74 65 73 20 62 69 74 73 20 66 72 6f 6d 20 61 6e 20 69 6e 74 65 67 65 72 20 74 truncates.bits.from.an.integer.t
ceb00 79 70 65 2c 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 73 6d 61 6c 6c 65 72 0a 20 20 20 20 ype,.resulting.in.a.smaller.....
ceb20 20 20 6f 72 20 73 61 6d 65 2d 73 69 7a 65 64 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 0a 20 20 ..or.same-sized.integer.type....
ceb40 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 66 75 ....</p>.......<p>.......This.fu
ceb60 6e 63 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 nction.always.truncates.the.sign
ceb80 69 66 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 ificant.bits.of.the.integer,.reg
ceba0 61 72 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 ardless.......of.endianness.on.t
cebc0 68 65 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 he.target.platform........</p>..
cebe0 20 20 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 .....<p>.......Calling.<code><sp
cec00 61 6e 20 63 6c 61 73 73 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
cec20 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e -builtin">@truncate</span></span
cec40 3e 3c 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 ></code>.on.a.number.out.of.rang
cec60 65 20 6f 66 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 69 73 20 77 65 6c e.of.the.destination.type.is.wel
cec80 6c 20 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 l.defined.and.working.code:.....
ceca0 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
cecc0 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
cece0 6c 65 22 3e 74 72 75 6e 63 61 74 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 le">truncate.zig</cite></figcapt
ced00 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
ced20 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
ced40 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
ced60 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="
ced80 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>)
ceda0 3b 3c 2f 73 70 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
cedc0 6e 20 63 6c 61 73 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
cede0 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
cee00 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
cee20 61 6e 20 63 6c 61 73 73 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
cee40 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
cee60 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 74 72 75 6e 63 61 74 69 6f 6e 26 k-str">&quot;integer.truncation&
cee80 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
ceea0 73 3d 22 6c 69 6e 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
ceec0 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
ceee0 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=
cef00 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
cef20 6e 3e 0a 3c 73 70 61 6e 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.
cef40 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
cef60 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>.=.
cef80 3c 73 70 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
cefa0 61 74 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ate</span>(<span.class="tok-type
cefc0 22 3e 75 38 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 ">u8</span>,.a);</span>.<span.cl
cefe0 61 73 73 3d 22 6c 69 6e 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-
cf000 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 62 20 3d 3d 20 3c 73 70 61 6e kw">try</span>.expect(b.==.<span
cf020 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 63 64 3c 2f 73 70 61 6e 3e 29 .class="tok-number">0xcd</span>)
cf040 3b 3c 2f 73 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
cf060 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
cf080 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">
cf0a0 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 3c 73 70 Shell</figcaption><pre><samp><sp
cf0c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 an.class="line">$.<kbd>zig.test.
cf0e0 74 72 75 6e 63 61 74 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 truncate.zig</kbd></span>.<span.
cf100 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 69 6e 74 65 class="line">1/1.test.&quot;inte
cf120 67 65 72 20 74 72 75 6e 63 61 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e ger.truncation&quot;....OK</span
cf140 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 >.<span.class="line">All.1.tests
cf160 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 .passed.</span>.</samp></pre></f
cf180 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 3c 61 20 68 72 igure>.......<p>.......Use.<a.hr
cf1a0 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 20 74 6f 20 63 6f ef="#intCast">@intCast</a>.to.co
cf1c0 6e 76 65 72 74 20 6e 75 6d 62 65 72 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 66 69 74 20 nvert.numbers.guaranteed.to.fit.
cf1e0 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e the.destination.type........</p>
cf200 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 79 70 65 22 3e 3c 61 20 ...............<h3.id="Type"><a.
cf220 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 22 3e 40 54 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c href="#toc-Type">@Type</a>.<a.cl
cf240 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ass="hdr".href="#Type">..</a></h
cf260 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
cf280 3d 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
cf2a0 22 3e 40 54 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 ">@Type</span>(<span.class="tok-
cf2c0 6b 77 22 3e 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 kw">comptime</span>.info:.std.bu
cf2e0 69 6c 74 69 6e 2e 54 79 70 65 49 6e 66 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b iltin.TypeInfo).<span.class="tok
cf300 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 6f 64 65 3e -type">type</span></span></code>
cf320 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 </pre>.......<p>.......This.func
cf340 74 69 6f 6e 20 69 73 20 74 68 65 20 69 6e 76 65 72 73 65 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 tion.is.the.inverse.of.<a.href="
cf360 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 2e 20 49 74 20 72 65 69 #typeInfo">@typeInfo</a>..It.rei
cf380 66 69 65 73 20 74 79 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 20 69 6e 74 6f fies.type.information.......into
cf3a0 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
cf3c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-type">type</span></
cf3e0 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 3c span></code>........</p>.......<
cf400 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 74 68 65 p>.......It.is.available.for.the
cf420 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .following.types:.......</p>....
cf440 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
cf460 6e 20 63 6c 61 73 73 3d 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-
cf480 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 6f 64 65 3e 3c type">type</span></span></code><
cf4a0 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
cf4c0 6c 61 73 73 3d 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
cf4e0 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 3c 2f 63 6f 64 65 3e e">noreturn</span></span></code>
cf500 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 </li>...........<li><code><span.
cf520 63 6c 61 73 73 3d 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
cf540 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 6c pe">void</span></span></code></l
cf560 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
cf580 73 73 3d 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"
cf5a0 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 6c 69 3e 0a >bool</span></span></code></li>.
cf5c0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 ..........<li><a.href="#Integers
cf5e0 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 2d 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 62 69 74 ">Integers</a>.-.The.maximum.bit
cf600 20 63 6f 75 6e 74 20 66 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 3c 63 .count.for.an.integer.type.is.<c
cf620 6f 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
cf640 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 3e 3c 2f 73 70 ss="tok-number">65535</span></sp
cf660 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 3c 6c 69 3e 3c an></code>.</li>...........<li><
cf680 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 3e a.href="#Floats">Floats</a></li>
cf6a0 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 50 6f 69 6e 74 65 72 ...........<li><a.href="#Pointer
cf6c0 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 20 20 20 20 3c s">Pointers</a></li>...........<
cf6e0 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
cf700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c n.class="tok-type">comptime_int<
cf720 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>.......
cf740 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"
cf760 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 69 6d 65 ><span.class="tok-type">comptime
cf780 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 3c 2f 6c 69 3e _float</span></span></code></li>
cf7a0 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
cf7c0 3d 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
cf7e0 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 74 6f ">@TypeOf</span>(<span.class="to
cf800 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e k-null">undefined</span>)</span>
cf820 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
cf840 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=
cf860 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 3c 73 70 "tok-builtin">@TypeOf</span>(<sp
cf880 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 an.class="tok-null">null</span>)
cf8a0 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
cf8c0 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f i><a.href="#Arrays">Arrays</a></
cf8e0 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 li>...........<li><a.href="#Opti
cf900 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 onals">Optionals</a></li>.......
cf920 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 ....<li><a.href="#Error-Set-Type
cf940 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ">Error.Set.Type</a></li>.......
cf960 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 ....<li><a.href="#Error-Union-Ty
cf980 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 pe">Error.Union.Type</a></li>...
cf9a0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 ........<li><a.href="#Vectors">V
cf9c0 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 ectors</a></li>...........<li><a
cf9e0 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a .href="#opaque">opaque</a></li>.
cfa00 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 72 61 6d 65 22 3e 40 ..........<li><a.href="#Frame">@
cfa20 46 72 61 6d 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 3c 63 6f Frame</a></li>...........<li><co
cfa40 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
cfa60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e s="tok-kw">anyframe</span></span
cfa80 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 61 20 68 ></code></li>...........<li><a.h
cfaa0 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ref="#struct">struct</a></li>...
cfac0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d ........<li><a.href="#enum">enum
cfae0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d </a></li>...........<li><a.href=
cfb00 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 61 6c 73 3c 2f "#Enum-Literals">Enum.Literals</
cfb20 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="#
cfb40 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 3c 2f 75 6c union">union</a></li>.......</ul
cfb60 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 74 68 65 73 65 20 74 79 70 65 >.......<p>.......For.these.type
cfb80 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 70 61 s,.<code><span.class="line"><spa
cfba0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 3c 2f 73 70 61 n.class="tok-builtin">@Type</spa
cfbc0 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c n></span></code>.is.not.availabl
cfbe0 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 20 20 20 e:.......</p>.......<ul>........
cfc00 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 22 3e 46 75 6e 63 ...<li><a.href="#Functions">Func
cfc20 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 3c 6c 69 3e 42 6f 75 tions</a></li>...........<li>Bou
cfc40 6e 64 46 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 ndFn</li>.......</ul>...........
cfc60 20 20 20 3c 68 33 20 69 64 3d 22 74 79 70 65 49 6e 66 6f 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ...<h3.id="typeInfo"><a.href="#t
cfc80 6f 63 2d 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 20 3c 61 20 63 6c oc-typeInfo">@typeInfo</a>.<a.cl
cfca0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e c2 a7 3c 2f 61 ass="hdr".href="#typeInfo">..</a
cfcc0 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
cfce0 6c 61 73 73 3d 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
cfd00 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
cfd20 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:.<
cfd40 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
cfd60 3e 29 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 54 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 3c 2f >).std.builtin.TypeInfo</span></
cfd80 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 72 6f 76 code></pre>.......<p>.......Prov
cfda0 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 20 20 20 3c 2f 70 3e ides.type.reflection........</p>
cfdc0 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
cfde0 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</
cfe00 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>,
cfe20 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.
cfe40 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 2d 54 79 70 65 22 3e ......<a.href="#Error-Set-Type">
cfe60 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 20 77 68 69 63 68 20 error.sets</a>.has.fields.which.
cfe80 61 72 65 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 68 65 20 are.are.guaranteed.to.be.in.the.
cfea0 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 65 20 69 same.......order.as.appearance.i
cfec0 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 0a 20 20 n.the.source.file........</p>...
cfee0 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 6e 20 6f ....<p>.......Type.information.o
cff00 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 61 3e 2c f.<a.href="#struct">structs</a>,
cff20 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 20 3c 61 .<a.href="#union">unions</a>,.<a
cff40 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 20 20 20 .href="#enum">enums</a>,.and....
cff60 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 2f 61 3e ...<a.href="#opaque">opaques</a>
cff80 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 61 6c 73 .has.declarations,.which.are.als
cffa0 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 65 0a 20 o.guaranteed.to.be.in.the.same..
cffc0 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 68 65 20 .....order.as.appearance.in.the.
cffe0 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 20 0a 0a source.file........</p>.........
d0000 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 65 66 3d ......<h3.id="typeName"><a.href=
d0020 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 20 3c 61 "#toc-typeName">@typeName</a>.<a
d0040 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 3e c2 a7 .class="hdr".href="#typeName">..
d0060 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
d0080 6e 20 63 6c 61 73 73 3d 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-
d00a0 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 3c 73 70 builtin">@typeName</span>(T:.<sp
d00c0 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>)
d00e0 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 73 70 .*<span.class="tok-kw">const</sp
d0100 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 72 22 3e an>.[N:<span.class="tok-number">
d0120 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">
d0140 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 0a 20 20 u8</span></span></code></pre>...
d0160 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 74 75 ....<p>.......This.function.retu
d0180 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 20 6f 66 rns.the.string.representation.of
d01a0 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 74 20 69 .a.type,.as.......an.array..It.i
d01c0 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 72 61 6c s.equivalent.to.a.string.literal
d01e0 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 3c 2f 70 3e 0a 0a 20 .of.the.type.name........</p>...
d0200 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 79 70 65 4f 66 22 3e 3c 61 20 .............<h3.id="TypeOf"><a.
d0220 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 4f 66 22 3e 40 54 79 70 65 4f 66 3c 2f 61 3e 20 3c href="#toc-TypeOf">@TypeOf</a>.<
d0240 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 4f 66 22 3e c2 a7 3c a.class="hdr".href="#TypeOf">..<
d0260 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
d0280 20 63 6c 61 73 73 3d 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
d02a0 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 2e 2e 2e 29 20 3c 73 70 61 uiltin">@TypeOf</span>(...).<spa
d02c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-type">type</span></
d02e0 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>....
d0300 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
d0320 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
d0340 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 73 70 65 63 69 61 6c 20 pan></span></code>.is.a.special.
d0360 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 6e 79 20 builtin.function.that.takes.any.
d0380 28 6e 6f 6e 7a 65 72 6f 29 20 6e 75 6d 62 65 72 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 73 0a (nonzero).number.of.expressions.
d03a0 20 20 20 20 20 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 ......as.parameters.and.returns.
d03c0 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2c 20 75 73 69 6e 67 20 3c 61 the.type.of.the.result,.using.<a
d03e0 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
d0400 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f er.Type.Resolution</a>........</
d0420 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 65 78 70 72 65 73 73 69 6f p>.......<p>.......The.expressio
d0440 6e 73 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 2c 20 68 6f 77 65 76 65 72 20 74 68 65 79 20 61 ns.are.evaluated,.however.they.a
d0460 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 6e 6f 20 3c 65 6d 3e 72 75 6e re.guaranteed.to.have.no.<em>run
d0480 74 69 6d 65 3c 2f 65 6d 3e 20 73 69 64 65 2d 65 66 66 65 63 74 73 3a 0a 20 20 20 20 20 20 3c 2f time</em>.side-effects:.......</
d04a0 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
d04c0 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">
d04e0 6e 6f 5f 72 75 6e 74 69 6d 65 5f 73 69 64 65 5f 65 66 66 65 63 74 73 2e 7a 69 67 3c 2f 63 69 74 no_runtime_side_effects.zig</cit
d0500 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.
d0520 63 6c 61 73 73 3d 22 6c 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
d0540 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
d0560 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
d0580 70 61 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
d05a0 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=
d05c0 22 6c 69 6e 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
d05e0 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
d0600 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">
d0620 3c 2f 73 70 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
d0640 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
d0660 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 20 72 75 6e 74 69 n.class="tok-str">&quot;no.runti
d0680 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 61 6e 3e 20 7b 3c 2f me.side.effects&quot;</span>.{</
d06a0 73 70 61 6e 3e 0a 3c 73 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
d06c0 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
d06e0 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 a:.<span.class="tok-type">i32</s
d0700 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">
d0720 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
d0740 6e 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
d0760 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 3d 22 74 6f 6b 2d 62 st</span>.T.=.<span.class="tok-b
d0780 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 28 3c 73 70 61 6e uiltin">@TypeOf</span>(foo(<span
d07a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 .class="tok-type">i32</span>,.&a
d07c0 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 6c 61 73 73 3d 22 6c mp;data));</span>.<span.class="l
d07e0 69 6e 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
d0800 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
d0820 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 54 20 3d 3d 20 3c 73 70 61 6e 20 w">try</span>.expect(T.==.<span.
d0840 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
d0860 70 61 6e 3e 0a 3c 73 70 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
d0880 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
d08a0 63 74 28 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ct(data.==.<span.class="tok-numb
d08c0 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
d08e0 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
d0900 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">
d0920 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>.<
d0940 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 3c span.class="tok-fn">foo</span>(<
d0960 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
d0980 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
d09a0 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 73 70 61 6e 3e 0a 3c pe</span>,.ptr:.*T).T.{</span>.<
d09c0 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 2e 2a 20 2b 3d 20 3c span.class="line">....ptr.*.+=.<
d09e0 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>
d0a00 3b 3c 2f 73 70 61 6e 3e 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">....
d0a20 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
d0a40 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 61 73 73 3d 22 6c 69 n>.ptr.*;</span>.<span.class="li
d0a60 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
d0a80 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
d0aa0 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><
d0ac0 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a samp><span.class="line">$.<kbd>z
d0ae0 69 67 20 74 65 73 74 20 6e 6f 5f 72 75 6e 74 69 6d 65 5f 73 69 64 65 5f 65 66 66 65 63 74 73 2e ig.test.no_runtime_side_effects.
d0b00 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 zig</kbd></span>.<span.class="li
d0b20 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 6f 20 72 75 6e 74 69 6d 65 20 73 69 ne">1/1.test.&quot;no.runtime.si
d0b40 64 65 20 65 66 66 65 63 74 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 de.effects&quot;....OK</span>.<s
d0b60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 pan.class="line">All.1.tests.pas
d0b80 73 65 64 2e 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 sed.</span>.</samp></pre></figur
d0ba0 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 75 6e 69 6f 6e 49 6e e>...............<h3.id="unionIn
d0bc0 69 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 75 6e 69 6f 6e 49 6e 69 74 22 3e 40 75 6e it"><a.href="#toc-unionInit">@un
d0be0 69 6f 6e 49 6e 69 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 ionInit</a>.<a.class="hdr".href=
d0c00 22 23 75 6e 69 6f 6e 49 6e 69 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 "#unionInit">..</a></h3>........
d0c20 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
d0c40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 75 6e 69 6f 6e 49 6e pan.class="tok-builtin">@unionIn
d0c60 69 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 it</span>(<span.class="tok-kw">c
d0c80 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 55 6e 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 omptime</span>.Union:.<span.clas
d0ca0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 s="tok-type">type</span>,.<span.
d0cc0 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 61 class="tok-kw">comptime</span>.a
d0ce0 63 74 69 76 65 5f 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d ctive_field_name:.[]<span.class=
d0d00 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
d0d20 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 69 6e 69 74 5f 65 78 70 s="tok-type">u8</span>,.init_exp
d0d40 72 29 20 55 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 r).Union</span></code></pre>....
d0d60 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 74 68 ...<p>.......This.is.the.same.th
d0d80 69 6e 67 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 ing.as.<a.href="#union">union</a
d0da0 3e 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73 79 6e 74 61 78 2c 20 65 78 63 65 70 74 20 >.initialization.syntax,.except.
d0dc0 74 68 61 74 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 69 73 20 61 0a 20 20 20 20 20 20 3c that.the.field.name.is.a.......<
d0de0 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 2d a.href="#comptime">comptime</a>-
d0e00 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 6e 20 69 64 65 6e 74 known.value.rather.than.an.ident
d0e20 69 66 69 65 72 20 74 6f 6b 65 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 ifier.token........</p>.......<p
d0e40 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"
d0e60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 75 6e 69 6f ><span.class="tok-builtin">@unio
d0e80 6e 49 6e 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 77 61 nInit</span></span></code>.forwa
d0ea0 72 64 73 20 69 74 73 20 3c 61 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f rds.its.<a.href="#Result-Locatio
d0ec0 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 3e n-Semantics">result.location</a>
d0ee0 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 69 6e 69 .to.<code><span.class="line">ini
d0f00 74 5f 65 78 70 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 70 3e t_expr</span></code>........</p>
d0f20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 42 75 ......................<h2.id="Bu
d0f40 69 6c 64 2d 4d 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 75 69 6c 64 2d 4d 6f ild-Mode"><a.href="#toc-Build-Mo
d0f60 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 de">Build.Mode</a>.<a.class="hdr
d0f80 22 20 68 72 65 66 3d 22 23 42 75 69 6c 64 2d 4d 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e ".href="#Build-Mode">..</a></h2>
d0fa0 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 66 6f 75 72 20 62 ........<p>.......Zig.has.four.b
d0fc0 75 69 6c 64 20 6d 6f 64 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c uild.modes:.......</p>.......<ul
d0fe0 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 >.........<li><a.href="#Debug">D
d1000 65 62 75 67 3c 2f 61 3e 20 28 64 65 66 61 75 6c 74 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ebug</a>.(default)</li>.........
d1020 3c 6c 69 3e 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 6c 65 61 <li><a.href="#ReleaseFast">Relea
d1040 73 65 46 61 73 74 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 68 seFast</a></li>.........<li><a.h
d1060 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 65 53 61 66 65 3c 2f ref="#ReleaseSafe">ReleaseSafe</
d1080 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 65 a></li>.........<li><a.href="#Re
d10a0 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
d10c0 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f >.......</ul>.......<p>.......To
d10e0 20 61 64 64 20 73 74 61 6e 64 61 72 64 20 62 75 69 6c 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 61 .add.standard.build.options.to.a
d1100 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 3c 2f 63 .<code.class="file">build.zig</c
d1120 6f 64 65 3e 20 66 69 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 ode>.file:.......</p>.......<fig
d1140 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">
d1160 3c 63 69 74 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 69 <cite.class="file">build.zig</ci
d1180 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
d11a0 20 63 6c 61 73 73 3d 22 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
d11c0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 75 69 6c 64 65 72 20 3d 20 3c 73 70 61 6e 20 w">const</span>.Builder.=.<span.
d11e0 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
d1200 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
d1220 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 64 2e 42 75 69 6c 64 65 72 3b 3c td&quot;</span>).build.Builder;<
d1240 2f 73 70 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
d1260 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
d1280 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
d12a0 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=
d12c0 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 42 75 69 6c 64 65 "tok-fn">build</span>(b:.*Builde
d12e0 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 69 64 3c 2f r).<span.class="tok-type">void</
d1300 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
d1320 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
d1340 3c 2f 73 70 61 6e 3e 20 65 78 65 20 3d 20 62 2e 61 64 64 45 78 65 63 75 74 61 62 6c 65 28 3c 73 </span>.exe.=.b.addExecutable(<s
d1360 70 61 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 6c pan.class="tok-str">&quot;exampl
d1380 65 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 e&quot;</span>,.<span.class="tok
d13a0 2d 73 74 72 22 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 -str">&quot;example.zig&quot;</s
d13c0 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"
d13e0 3e 20 20 20 20 65 78 65 2e 73 65 74 42 75 69 6c 64 4d 6f 64 65 28 62 2e 73 74 61 6e 64 61 72 64 >....exe.setBuildMode(b.standard
d1400 52 65 6c 65 61 73 65 4f 70 74 69 6f 6e 73 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ReleaseOptions());</span>.<span.
d1420 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 2e 64 65 66 61 75 6c 74 5f 73 74 65 70 2e class="line">....b.default_step.
d1440 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b 65 78 65 2e 73 74 65 70 29 3b 3c 2f 73 70 61 6e 3e 0a dependOn(&amp;exe.step);</span>.
d1460 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
d1480 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 e></pre></figure>.......<p>.....
d14a0 20 20 54 68 69 73 20 63 61 75 73 65 73 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20 62 ..This.causes.these.options.to.b
d14c0 65 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 64 e.available:.......</p>.......<d
d14e0 6c 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 6b 62 64 3e 2d 44 72 65 6c 65 61 73 65 2d 73 61 l>.........<dt><kbd>-Drelease-sa
d1500 66 65 3d 5b 62 6f 6f 6c 5d 3c 2f 6b 62 64 3e 3c 2f 64 74 3e 3c 64 64 3e 4f 70 74 69 6d 69 7a 61 fe=[bool]</kbd></dt><dd>Optimiza
d1520 74 69 6f 6e 73 20 6f 6e 20 61 6e 64 20 73 61 66 65 74 79 20 6f 6e 3c 2f 64 64 3e 0a 20 20 20 20 tions.on.and.safety.on</dd>.....
d1540 20 20 20 20 3c 64 74 3e 3c 6b 62 64 3e 2d 44 72 65 6c 65 61 73 65 2d 66 61 73 74 3d 5b 62 6f 6f ....<dt><kbd>-Drelease-fast=[boo
d1560 6c 5d 3c 2f 6b 62 64 3e 3c 2f 64 74 3e 3c 64 64 3e 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 6f l]</kbd></dt><dd>Optimizations.o
d1580 6e 20 61 6e 64 20 73 61 66 65 74 79 20 6f 66 66 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 n.and.safety.off</dd>.........<d
d15a0 74 3e 3c 6b 62 64 3e 2d 44 72 65 6c 65 61 73 65 2d 73 6d 61 6c 6c 3d 5b 62 6f 6f 6c 5d 3c 2f 6b t><kbd>-Drelease-small=[bool]</k
d15c0 62 64 3e 3c 2f 64 74 3e 3c 64 64 3e 53 69 7a 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 6f bd></dt><dd>Size.optimizations.o
d15e0 6e 20 61 6e 64 20 73 61 66 65 74 79 20 6f 66 66 3c 2f 64 64 3e 0a 20 20 20 20 20 20 3c 2f 64 6c n.and.safety.off</dd>.......</dl
d1600 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 65 62 75 67 22 3e 3c 61 20 68 72 65 66 3d 22 >.......<h3.id="Debug"><a.href="
d1620 23 74 6f 63 2d 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 #toc-Debug">Debug</a>.<a.class="
d1640 68 64 72 22 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a hdr".href="#Debug">..</a></h3>..
d1660 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=
d1680 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
d16a0 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b re><samp><span.class="line">$.<k
d16c0 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 3c 2f 6b 62 bd>zig.build-exe.example.zig</kb
d16e0 64 3e 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 d></span>.</samp></pre></figure>
d1700 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 61 73 74 20 63 6f 6d .......<ul>.........<li>Fast.com
d1720 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e pilation.speed</li>.........<li>
d1740 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 65 6e 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 Safety.checks.enabled</li>......
d1760 20 20 20 3c 6c 69 3e 53 6c 6f 77 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 3c ...<li>Slow.runtime.performance<
d1780 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4c 61 72 67 65 20 62 69 6e 61 72 79 20 73 69 /li>.........<li>Large.binary.si
d17a0 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4e 6f 20 72 65 70 72 6f 64 75 63 69 ze</li>.........<li>No.reproduci
d17c0 62 6c 65 20 62 75 69 6c 64 20 72 65 71 75 69 72 65 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 ble.build.requirement</li>......
d17e0 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 6c 65 .</ul>..............<h3.id="Rele
d1800 61 73 65 46 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 6c 65 61 73 65 46 61 aseFast"><a.href="#toc-ReleaseFa
d1820 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 st">ReleaseFast</a>.<a.class="hd
d1840 72 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 r".href="#ReleaseFast">..</a></h
d1860 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
d1880 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
d18a0 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
d18c0 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c 65 2e 7a 69 67 $.<kbd>zig.build-exe.example.zig
d18e0 20 2d 4f 20 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 .-O.ReleaseFast</kbd></span>.</s
d1900 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 3e 0a 20 amp></pre></figure>.......<ul>..
d1920 20 20 20 20 20 20 20 3c 6c 69 3e 46 61 73 74 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 .......<li>Fast.runtime.performa
d1940 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 20 63 68 65 63 nce</li>.........<li>Safety.chec
d1960 6b 73 20 64 69 73 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f ks.disabled</li>.........<li>Slo
d1980 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 20 20 20 20 w.compilation.speed</li>........
d19a0 20 3c 6c 69 3e 4c 61 72 67 65 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 .<li>Large.binary.size</li>.....
d19c0 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 6c 69 3e 0a ....<li>Reproducible.build</li>.
d19e0 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d ......</ul>..............<h3.id=
d1a00 22 52 65 6c 65 61 73 65 53 61 66 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 6c 65 "ReleaseSafe"><a.href="#toc-Rele
d1a20 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 aseSafe">ReleaseSafe</a>.<a.clas
d1a40 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e c2 a7 3c 2f s="hdr".href="#ReleaseSafe">..</
d1a60 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 74 69 a></h3>........<figure><figcapti
d1a80 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
d1aa0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><samp><span.class="l
d1ac0 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c ine">$.<kbd>zig.build-exe.exampl
d1ae0 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 3c 2f 73 70 61 6e e.zig.-O.ReleaseSafe</kbd></span
d1b00 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>.......<
d1b20 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 65 64 69 75 6d 20 72 75 6e 74 69 6d 65 20 70 ul>.........<li>Medium.runtime.p
d1b40 65 72 66 6f 72 6d 61 6e 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 erformance</li>.........<li>Safe
d1b60 74 79 20 63 68 65 63 6b 73 20 65 6e 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c ty.checks.enabled</li>.........<
d1b80 6c 69 3e 53 6c 6f 77 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 li>Slow.compilation.speed</li>..
d1ba0 20 20 20 20 20 20 20 3c 6c 69 3e 4c 61 72 67 65 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 .......<li>Large.binary.size</li
d1bc0 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 >.........<li>Reproducible.build
d1be0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c </li>.......</ul>..............<
d1c00 68 33 20 69 64 3d 22 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 h3.id="ReleaseSmall"><a.href="#t
d1c20 6f 63 2d 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 oc-ReleaseSmall">ReleaseSmall</a
d1c40 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 >.<a.class="hdr".href="#ReleaseS
d1c60 6d 61 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 mall">..</a></h3>........<figure
d1c80 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
d1ca0 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 3c 73 70 61 hell</figcaption><pre><samp><spa
d1cc0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d n.class="line">$.<kbd>zig.build-
d1ce0 65 78 65 20 65 78 61 6d 70 6c 65 2e 7a 69 67 20 2d 4f 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c exe.example.zig.-O.ReleaseSmall<
d1d00 2f 6b 62 64 3e 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 /kbd></span>.</samp></pre></figu
d1d20 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 65 64 69 75 re>.......<ul>.........<li>Mediu
d1d40 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 20 20 20 20 m.runtime.performance</li>......
d1d60 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 64 3c 2f 6c ...<li>Safety.checks.disabled</l
d1d80 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 69 6f 6e 20 i>.........<li>Slow.compilation.
d1da0 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 20 62 69 6e speed</li>.........<li>Small.bin
d1dc0 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 70 72 6f 64 ary.size</li>.........<li>Reprod
d1de0 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 3e 0a 20 20 ucible.build</li>.......</ul>...
d1e00 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>.
d1e20 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 6c 65 73 22 <li><a.href="#Compile-Variables"
d1e40 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 3c 6c 69 3e >Compile.Variables</a></li>.<li>
d1e60 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 <a.href="#Zig-Build-System">Zig.
d1e80 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 20 68 72 65 Build.System</a></li>.<li><a.hre
d1ea0 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 65 f="#Undefined-Behavior">Undefine
d1ec0 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 20 20 20 20 d.Behavior</a></li>.</ul>.......
d1ee0 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 61 64 65 64 .........<h2.id="Single-Threaded
d1f00 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 65 2d 54 68 -Builds"><a.href="#toc-Single-Th
d1f20 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 65 64 20 42 readed-Builds">Single.Threaded.B
d1f40 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 66 3d 22 23 uilds</a>.<a.class="hdr".href="#
d1f60 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 61 3e 3c 2f Single-Threaded-Builds">..</a></
d1f80 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 69 6c 65 20 h2>........<p>Zig.has.a.compile.
d1fa0 6f 70 74 69 6f 6e 20 3c 6b 62 64 3e 2d 2d 73 69 6e 67 6c 65 2d 74 68 72 65 61 64 65 64 3c 2f 6b option.<kbd>--single-threaded</k
d1fc0 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 65 66 66 65 bd>.which.has.the.following.effe
d1fe0 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 3c 6c 69 3e cts:</p>.......<ul>.........<li>
d2000 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 61 72 69 61 All.<a.href="#Thread-Local-Varia
d2020 62 6c 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e bles">Thread.Local.Variables</a>
d2040 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 72 65 66 3d .are.treated.as.regular.<a.href=
d2060 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 43 6f 6e "#Container-Level-Variables">Con
d2080 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 2f 6c 69 3e tainer.Level.Variables</a>.</li>
d20a0 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 20 3c 61 20 .........<li>The.overhead.of.<a.
d20c0 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 63 20 46 75 href="#Async-Functions">Async.Fu
d20e0 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 6e 74 20 74 nctions</a>.becomes.equivalent.t
d2100 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 69 3e 0a 20 o.function.call.overhead.</li>..
d2120 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 6c 61 73 73 .......<li>The.<code><span.class
d2140 3d 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
d2160 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
d2180 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
d21a0 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 6f 64 65 3e >).single_threaded</span></code>
d21c0 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 6c 69 6e 65 .becomes.<code><span.class="line
d21e0 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 73 "><span.class="tok-null">true</s
d2200 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 61 6e 64 pan></span></code>...........and
d2220 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 41 50 49 73 .therefore.various.userland.APIs
d2240 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 63 6f 6d 65 .which.read.this.variable.become
d2260 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 6f 72 20 65 .more.efficient............For.e
d2280 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 6e 65 22 3e xample.<code><span.class="line">
d22a0 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 6d 65 73 0a std.Mutex</span></code>.becomes.
d22c0 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 63 74 75 72 ..........an.empty.data.structur
d22e0 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 65 63 6f 6d e.and.all.of.its.functions.becom
d2300 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 20 20 20 20 e.no-ops.</li>.......</ul>......
d2320 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 65 68 61 76 .........<h2.id="Undefined-Behav
d2340 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 2d 42 65 68 ior"><a.href="#toc-Undefined-Beh
d2360 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 20 3c 61 avior">Undefined.Behavior</a>.<a
d2380 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 64 2d 42 65 .class="hdr".href="#Undefined-Be
d23a0 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 70 3e 0a 20 havior">..</a></h2>........<p>..
d23c0 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 6f 66 20 75 .....Zig.has.many.instances.of.u
d23e0 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 6e 65 64 20 ndefined.behavior..If.undefined.
d2400 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 74 20 63 6f behavior.is.......detected.at.co
d2420 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 69 6c 65 20 mpile-time,.Zig.emits.a.compile.
d2440 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 65 2e 0a 20 error.and.refuses.to.continue...
d2460 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 20 74 68 61 .....Most.undefined.behavior.tha
d2480 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 69 6c 65 2d t.cannot.be.detected.at.compile-
d24a0 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 74 20 72 75 time.can.be.detected.......at.ru
d24c0 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 61 73 20 73 ntime..In.these.cases,.Zig.has.s
d24e0 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 63 61 6e 20 afety.checks..Safety.checks.can.
d2500 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 6c 6f 63 6b be.disabled.......on.a.per-block
d2520 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 74 69 6d 65 .basis.with.<a.href="#setRuntime
d2540 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 2e 20 54 Safety">@setRuntimeSafety</a>..T
d2560 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 6c 65 61 73 he.<a.href="#ReleaseFast">Releas
d2580 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 22 23 52 65 eFast</a>.......and.<a.href="#Re
d25a0 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 62 75 69 leaseSmall">ReleaseSmall</a>.bui
d25c0 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 63 68 65 63 ld.modes.disable.all.safety.chec
d25e0 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 20 20 20 20 ks.(except.where.overridden.....
d2600 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 65 74 79 22 ..by.<a.href="#setRuntimeSafety"
d2620 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 72 64 65 72 >@setRuntimeSafety</a>).in.order
d2640 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 2e 0a 20 20 .to.facilitate.optimizations....
d2660 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 61 20 ....</p>.......<p>.......When.a.
d2680 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 68 65 73 20 safety.check.fails,.Zig.crashes.
d26a0 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 73 3a 0a 20 with.a.stack.trace,.like.this:..
d26c0 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
d26e0 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=
d2700 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 "file">test.zig</cite></figcapti
d2720 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"
d2740 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
d2760 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 61 >.<span.class="tok-str">&quot;sa
d2780 66 65 74 79 20 63 68 65 63 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e fety.check&quot;</span>.{</span>
d27a0 0a 3c 73 70 61 6e 20 63 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
d27c0 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>;
d27e0 3c 2f 73 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
d2800 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
d2820 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
d2840 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 3c 73 70 61 hell</figcaption><pre><samp><spa
d2860 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 n.class="line">$.<kbd>zig.test.t
d2880 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig</kbd></span>.<span.class
d28a0 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 61 66 65 74 79 20 63 68 ="line">1/1.test.&quot;safety.ch
d28c0 65 63 6b 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 31 34 34 34 36 34 33 20 70 61 6e 69 eck&quot;....thread.1444643.pani
d28e0 63 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 73 70 61 c:.reached.unreachable.code</spa
d2900 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
d2920 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 s="t1_0">/home/andy/tmp/zig/docg
d2940 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 en_tmp/test.zig:2:5</span>:.<spa
d2960 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 38 35 61 20 69 6e 20 74 65 73 74 20 n.class="t2_0">0x20785a.in.test.
d2980 26 71 75 6f 74 3b 73 61 66 65 74 79 20 63 68 65 63 6b 26 71 75 6f 74 3b 20 28 74 65 73 74 29 3c &quot;safety.check&quot;.(test)<
d29a0 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"
d29c0 3e 20 20 20 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 >....unreachable;</span>.<span.c
d29e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 lass="line">....<span.class="t32
d2a00 5f 31 22 3e 5e 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 _1">^</span></span>.<span.class=
d2a20 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f "line"><span.class="t1_0">/home/
d2a40 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 andy/tmp/zig/lib/std/special/tes
d2a60 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 38 30 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e t_runner.zig:80:28</span>:.<span
d2a80 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 66 30 63 33 20 69 6e 20 73 74 64 2e 73 70 .class="t2_0">0x22f0c3.in.std.sp
d2aa0 65 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ecial.main.(test)</span></span>.
d2ac0 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 20 65 6c 73 <span.class="line">........}.els
d2ae0 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e.test_fn.func();</span>.<span.c
d2b00 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 20 lass="line">....................
d2b20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 .......<span.class="t32_1">^</sp
d2b40 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
d2b60 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
d2b80 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 zig/lib/std/start.zig:551:22</sp
d2ba0 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 38 34 33 63 an>:.<span.class="t2_0">0x22843c
d2bc0 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 .in.std.start.callMain.(test)</s
d2be0 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">.
d2c00 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ...........root.main();</span>.<
d2c20 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">..............
d2c40 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 .......<span.class="t32_1">^</sp
d2c60 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
d2c80 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
d2ca0 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 zig/lib/std/start.zig:495:12</sp
d2cc0 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 30 37 65 an>:.<span.class="t2_0">0x20907e
d2ce0 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 .in.std.start.callMainWithArgs.(
d2d00 74 65 73 74 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 73 73 3d test)</span></span>.<span.class=
d2d20 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 "line">....return.@call(.{..modi
d2d40 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 fier.=..always_inline.},.callMai
d2d60 6e 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 6c 69 6e n,..{});</span>.<span.class="lin
d2d80 65 22 3e 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 33 32 5f 31 e">...........<span.class="t32_1
d2da0 22 3e 5e 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 ">^</span></span>.<span.class="l
d2dc0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e ine"><span.class="t1_0">/home/an
d2de0 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 dy/tmp/zig/lib/std/start.zig:409
d2e00 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 :17</span>:.<span.class="t2_0">0
d2e20 78 32 30 38 31 31 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 x208116.in.std.start.posixCallMa
d2e40 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c inAndExit.(test)</span></span>.<
d2e60 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 6f 73 2e 65 78 69 span.class="line">....std.os.exi
d2e80 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 t(@call(.{..modifier.=..always_i
d2ea0 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 nline.},.callMainWithArgs,..{.ar
d2ec0 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e gc,.argv,.envp.}));</span>.<span
d2ee0 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 73 .class="line">................<s
d2f00 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e pan.class="t32_1">^</span></span
d2f20 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
d2f40 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 ="t1_0">/home/andy/tmp/zig/lib/s
d2f60 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e td/start.zig:322:5</span>:.<span
d2f80 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 66 32 32 20 69 6e 20 73 74 64 2e 73 74 .class="t2_0">0x207f22.in.std.st
d2fa0 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a art._start.(test)</span></span>.
d2fc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 <span.class="line">....@call(.{.
d2fe0 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 .modifier.=..never_inline.},.pos
d3000 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a ixCallMainAndExit,..{});</span>.
d3020 3c 73 70 61 6e 20 63 6c 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
d3040 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="t32_1">^</span></span>.<span
d3060 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 .class="line">error:.the.followi
d3080 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a ng.test.command.crashed:</span>.
d30a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 <span.class="line">docgen_tmp/zi
d30c0 67 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 36 34 33 64 30 38 66 31 61 63 62 62 31 33 38 36 g-cache/o/e62d5b643d08f1acbb1386
d30e0 64 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a db92eb0f23/test./home/andy/tmp/z
d3100 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 ig/build-release/zig</span>.</sa
d3120 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 3d mp></pre></figure>.......<h3.id=
d3140 22 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e 3c 61 20 68 "Reaching-Unreachable-Code"><a.h
d3160 72 65 66 3d 22 23 74 6f 63 2d 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 ref="#toc-Reaching-Unreachable-C
d3180 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 2f ode">Reaching.Unreachable.Code</
d31a0 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 61 63 68 69 6e a>.<a.class="hdr".href="#Reachin
d31c0 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a g-Unreachable-Code">..</a></h3>.
d31e0 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 20 .......<p>At.compile-time:</p>..
d3200 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="
d3220 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
d3240 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
d3260 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
d3280 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
d32a0 61 6e 3e 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 an>.<span.class="line">....asser
d32c0 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f t(<span.class="tok-null">false</
d32e0 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
d3300 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 73 ">}</span>.<span.class="line"><s
d3320 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
d3340 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 73 73 65 72 74 3c 2f 73 70 61 6e 3e 28 an.class="tok-fn">assert</span>(
d3360 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 62 6f 6f 6c 3c ok:.<span.class="tok-type">bool<
d3380 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
d33a0 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=
d33c0 22 6c 69 6e 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">
d33e0 69 66 3c 2f 73 70 61 6e 3e 20 28 21 6f 6b 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b if</span>.(!ok).<span.class="tok
d3400 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 -kw">unreachable</span>;.<span.c
d3420 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 lass="tok-comment">//.assertion.
d3440 66 61 69 6c 75 72 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 failure</span></span>.<span.clas
d3460 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></
d3480 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
d34a0 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><
d34c0 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
d34e0 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 kbd>zig.test.test.zig</kbd></spa
d3500 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
d3520 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 s="t0_1">./docgen_tmp/test.zig:5
d3540 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 74 33 31 5f 31 22 3e :14:.</span><span.class="t31_1">
d3560 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 74 30 5f 31 22 error:.</span><span.class="t0_1"
d3580 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 3c 2f 73 70 61 6e 3e >reached.unreachable.code</span>
d35a0 3c 2f 73 70 61 6e 3e 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 </span>.<span.class="line">....i
d35c0 66 20 28 21 6f 6b 29 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f f.(!ok).unreachable;.//.assertio
d35e0 6e 20 66 61 69 6c 75 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n.failure</span>.<span.class="li
d3600 6e 65 22 3e 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 33 ne">.............<span.class="t3
d3620 32 5f 31 22 3e 5e 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 2_1">^</span></span>.<span.class
d3640 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 ="line"><span.class="t0_1">./doc
d3660 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 gen_tmp/test.zig:2:11:.</span><s
d3680 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c pan.class="t36_1">note:.</span><
d36a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 span.class="t0_1">called.from.he
d36c0 72 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 re</span></span>.<span.class="li
d36e0 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ne">....assert(false);</span>.<s
d3700 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 3c 73 70 61 6e pan.class="line">..........<span
d3720 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
d3740 73 70 61 6e 20 63 6c 61 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
d3760 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 3a 31 30 3a 0_1">./docgen_tmp/test.zig:1:10:
d3780 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 .</span><span.class="t36_1">note
d37a0 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c :.</span><span.class="t0_1">call
d37c0 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ed.from.here</span></span>.<span
d37e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6f 6d 70 74 69 6d 65 20 7b 3c 2f 73 70 61 6e 3e 0a .class="line">comptime.{</span>.
d3800 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 3c 73 70 61 <span.class="line">.........<spa
d3820 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
d3840 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>
d3860 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 At.runtime:</p>.......<figure><f
d3880 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.
d38a0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 class="file">test.zig</cite></fi
d38c0 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=
d38e0 22 6c 69 6e 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
d3900 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-
d3920 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
d3940 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
d3960 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"
d3980 3e 3c 2f 73 70 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
d39a0 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
d39c0 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
d39e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 .class="tok-fn">main</span>().<s
d3a00 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>
d3a20 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">...
d3a40 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .std.debug.assert(<span.class="t
d3a60 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 3e 0a 3c ok-null">false</span>);</span>.<
d3a80 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
d3aa0 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
d3ac0 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
d3ae0 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
d3b00 6c 69 6e 65 22 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 2e line">$.<kbd>zig.build-exe.test.
d3b20 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 zig</kbd></span>.<span.class="li
d3b40 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 24 ne"></span>.<span.class="line">$
d3b60 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .<kbd>./test</kbd></span>.<span.
d3b80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 34 37 37 38 20 70 61 6e 69 class="line">thread.1444778.pani
d3ba0 63 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 73 70 61 c:.reached.unreachable.code</spa
d3bc0 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
d3be0 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f s="t1_0">/home/andy/tmp/zig/lib/
d3c00 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 3a 32 32 35 3a 31 34 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 std/debug.zig:225:14</span>:.<sp
d3c20 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 65 34 62 20 69 6e 20 73 74 64 2e an.class="t2_0">0x204e4b.in.std.
d3c40 64 65 62 75 67 2e 61 73 73 65 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e debug.assert.(test)</span></span
d3c60 3e 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 6f 6b >.<span.class="line">....if.(!ok
d3c80 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 61 69 6c ).unreachable;.//.assertion.fail
d3ca0 75 72 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 20 ure</span>.<span.class="line">..
d3cc0 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 33 32 5f 31 22 3e 5e ...........<span.class="t32_1">^
d3ce0 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
d3d00 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f "><span.class="t1_0">/home/andy/
d3d20 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 32 31 tmp/zig/docgen_tmp/test.zig:4:21
d3d40 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 </span>:.<span.class="t2_0">0x22
d3d60 63 63 39 61 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e cc9a.in.main.(test)</span></span
d3d80 3e 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 >.<span.class="line">....std.deb
d3da0 75 67 2e 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ug.assert(false);</span>.<span.c
d3dc0 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 20 lass="line">....................
d3de0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
d3e00 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
d3e20 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
d3e40 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 /std/start.zig:551:22</span>:.<s
d3e60 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 33 61 63 20 69 6e 20 73 74 64 pan.class="t2_0">0x2263ac.in.std
d3e80 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 .start.callMain.(test)</span></s
d3ea0 70 61 6e 3e 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">........
d3ec0 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ....root.main();</span>.<span.cl
d3ee0 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 20 20 ass="line">.....................
d3f00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
d3f20 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
d3f40 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
d3f60 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 /std/start.zig:495:12</span>:.<s
d3f80 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 66 63 65 20 69 6e 20 73 74 64 pan.class="t2_0">0x206fce.in.std
d3fa0 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f .start.callMainWithArgs.(test)</
d3fc0 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">
d3fe0 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 ....return.@call(.{..modifier.=.
d4000 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 .always_inline.},.callMain,..{})
d4020 3b 3c 2f 73 70 61 6e 3e 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">....
d4040 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 .......<span.class="t32_1">^</sp
d4060 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
d4080 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
d40a0 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 zig/lib/std/start.zig:409:17</sp
d40c0 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 30 36 36 an>:.<span.class="t2_0">0x206066
d40e0 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 .in.std.start.posixCallMainAndEx
d4100 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c it.(test)</span></span>.<span.cl
d4120 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c ass="line">....std.os.exit(@call
d4140 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d (.{..modifier.=..always_inline.}
d4160 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 ,.callMainWithArgs,..{.argc,.arg
d4180 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d v,.envp.}));</span>.<span.class=
d41a0 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
d41c0 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="t32_1">^</span></span>.<span
d41e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
d4200 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 >/home/andy/tmp/zig/lib/std/star
d4220 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d t.zig:322:5</span>:.<span.class=
d4240 22 74 32 5f 30 22 3e 30 78 32 30 35 65 37 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 "t2_0">0x205e72.in.std.start._st
d4260 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 art.(test)</span></span>.<span.c
d4280 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 lass="line">....@call(.{..modifi
d42a0 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d er.=..never_inline.},.posixCallM
d42c0 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ainAndExit,..{});</span>.<span.c
d42e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 lass="line">....<span.class="t32
d4300 5f 31 22 3e 5e 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 _1">^</span></span>.<span.class=
d4320 22 6c 69 6e 65 22 3e 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 "line">(process.terminated.by.si
d4340 67 6e 61 6c 29 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 gnal)</span>.</samp></pre></figu
d4360 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 49 6e 64 65 78 2d 6f re>..............<h3.id="Index-o
d4380 75 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 ut-of-Bounds"><a.href="#toc-Inde
d43a0 78 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 x-out-of-Bounds">Index.out.of.Bo
d43c0 75 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 unds</a>.<a.class="hdr".href="#I
d43e0 6e 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 ndex-out-of-Bounds">..</a></h3>.
d4400 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 20 .......<p>At.compile-time:</p>..
d4420 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="
d4440 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
d4460 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
d4480 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
d44a0 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
d44c0 61 6e 3e 0a 3c 73 70 61 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
d44e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 .class="tok-kw">const</span>.arr
d4500 61 79 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 35 3c ay:.[<span.class="tok-number">5<
d4520 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 38 /span>]<span.class="tok-type">u8
d4540 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e </span>.=.<span.class="tok-str">
d4560 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 &quot;hello&quot;</span>.*;</spa
d4580 6e 3e 0a 3c 73 70 61 6e 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.
d45a0 63 6c 61 73 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 class="tok-kw">const</span>.garb
d45c0 61 67 65 20 3d 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d age.=.array[<span.class="tok-num
d45e0 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 61 ber">5</span>];</span>.<span.cla
d4600 73 73 3d 22 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 ss="line">...._.=.garbage;</span
d4620 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
d4640 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
d4660 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</
d4680 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><samp><span.clas
d46a0 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 s="line">$.<kbd>zig.test.test.zi
d46c0 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
d46e0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d "><span.class="t0_1">./docgen_tm
d4700 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 32 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c p/test.zig:3:26:.</span><span.cl
d4720 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 ass="t31_1">error:.</span><span.
d4740 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 69 6e 64 65 78 20 35 20 6f 75 74 73 69 64 65 20 61 72 72 class="t0_1">index.5.outside.arr
d4760 61 79 20 6f 66 20 73 69 7a 65 20 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ay.of.size.5</span></span>.<span
d4780 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 67 61 72 62 61 67 65 20 .class="line">....const.garbage.
d47a0 3d 20 61 72 72 61 79 5b 35 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 =.array[5];</span>.<span.class="
d47c0 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 20 3c line">.........................<
d47e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 span.class="t32_1">^</span></spa
d4800 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>.......
d4820 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 65 <p>At.runtime:</p>.......<figure
d4840 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
d4860 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c te.class="file">test.zig</cite><
d4880 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
d48a0 73 73 3d 22 6c 69 6e 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
d48c0 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ub</span>.<span.class="tok-kw">f
d48e0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 n</span>.<span.class="tok-fn">ma
d4900 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 in</span>().<span.class="tok-typ
d4920 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
d4940 61 73 73 3d 22 6c 69 6e 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-
d4960 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 kw">var</span>.x.=.foo(<span.cla
d4980 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f ss="tok-str">&quot;hello&quot;</
d49a0 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
d49c0 22 3e 20 20 20 20 5f 20 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">...._.=.x;</span>.<span.class=
d49e0 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
d4a00 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
d4a20 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
d4a40 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 78 3a 20 an.class="tok-fn">foo</span>(x:.
d4a60 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
d4a80 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
d4aa0 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 38 3c pan>).<span.class="tok-type">u8<
d4ac0 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
d4ae0 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
d4b00 72 6e 3c 2f 73 70 61 6e 3e 20 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d rn</span>.x[<span.class="tok-num
d4b20 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 61 ber">5</span>];</span>.<span.cla
d4b40 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><
d4b60 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
d4b80 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>
d4ba0 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 <pre><samp><span.class="line">$.
d4bc0 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 <kbd>zig.build-exe.test.zig</kbd
d4be0 3e 3c 2f 73 70 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
d4c00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f an>.<span.class="line">$.<kbd>./
d4c20 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c test</kbd></span>.<span.class="l
d4c40 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 34 39 31 32 20 70 61 6e 69 63 3a 20 69 6e 64 65 78 ine">thread.1444912.panic:.index
d4c60 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .out.of.bounds</span>.<span.clas
d4c80 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d s="line"><span.class="t1_0">/hom
d4ca0 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a e/andy/tmp/zig/docgen_tmp/test.z
d4cc0 69 67 3a 37 3a 31 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f ig:7:13</span>:.<span.class="t2_
d4ce0 30 22 3e 30 78 32 33 33 66 39 39 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0">0x233f99.in.foo.(test)</span>
d4d00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 </span>.<span.class="line">....r
d4d20 65 74 75 72 6e 20 78 5b 35 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 eturn.x[5];</span>.<span.class="
d4d40 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
d4d60 33 32 5f 31 22 3e 5e 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 32_1">^</span></span>.<span.clas
d4d80 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d s="line"><span.class="t1_0">/hom
d4da0 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a e/andy/tmp/zig/docgen_tmp/test.z
d4dc0 69 67 3a 32 3a 31 36 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f ig:2:16</span>:.<span.class="t2_
d4de0 30 22 3e 30 78 32 32 63 63 64 36 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 0">0x22ccd6.in.main.(test)</span
d4e00 3e 3c 2f 73 70 61 6e 3e 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">....
d4e20 76 61 72 20 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 3c var.x.=.foo(&quot;hello&quot;);<
d4e40 2f 73 70 61 6e 3e 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">......
d4e60 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f .........<span.class="t32_1">^</
d4e80 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">
d4ea0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d <span.class="t1_0">/home/andy/tm
d4ec0 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f p/zig/lib/std/start.zig:551:22</
d4ee0 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 33 span>:.<span.class="t2_0">0x2263
d4f00 64 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c dc.in.std.start.callMain.(test)<
d4f20 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"
d4f40 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e >............root.main();</span>
d4f60 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">............
d4f80 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f .........<span.class="t32_1">^</
d4fa0 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">
d4fc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d <span.class="t1_0">/home/andy/tm
d4fe0 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f p/zig/lib/std/start.zig:495:12</
d5000 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 66 span>:.<span.class="t2_0">0x206f
d5020 66 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 fe.in.std.start.callMainWithArgs
d5040 20 28 74 65 73 74 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 73 .(test)</span></span>.<span.clas
d5060 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f s="line">....return.@call(.{..mo
d5080 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d difier.=..always_inline.},.callM
d50a0 61 69 6e 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 6c ain,..{});</span>.<span.class="l
d50c0 69 6e 65 22 3e 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 33 32 ine">...........<span.class="t32
d50e0 5f 31 22 3e 5e 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 _1">^</span></span>.<span.class=
d5100 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f "line"><span.class="t1_0">/home/
d5120 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 andy/tmp/zig/lib/std/start.zig:4
d5140 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 09:17</span>:.<span.class="t2_0"
d5160 3e 30 78 32 30 36 30 39 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c >0x206096.in.std.start.posixCall
d5180 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e MainAndExit.(test)</span></span>
d51a0 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 6f 73 2e 65 .<span.class="line">....std.os.e
d51c0 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 xit(@call(.{..modifier.=..always
d51e0 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 _inline.},.callMainWithArgs,..{.
d5200 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 argc,.argv,.envp.}));</span>.<sp
d5220 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">................
d5240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
d5260 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
d5280 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
d52a0 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 /std/start.zig:322:5</span>:.<sp
d52c0 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 65 61 32 20 69 6e 20 73 74 64 2e an.class="t2_0">0x205ea2.in.std.
d52e0 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e start._start.(test)</span></span
d5300 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e >.<span.class="line">....@call(.
d5320 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 {..modifier.=..never_inline.},.p
d5340 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e osixCallMainAndExit,..{});</span
d5360 3e 0a 3c 73 70 61 6e 20 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
d5380 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="t32_1">^</span></span>.<sp
d53a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 an.class="line">(process.termina
d53c0 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 ted.by.signal)</span>.</samp></p
d53e0 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 64 re></figure>..............<h3.id
d5400 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 73 69 67 6e ="Cast-Negative-Number-to-Unsign
d5420 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 73 74 2d 4e ed-Integer"><a.href="#toc-Cast-N
d5440 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 6e 74 65 67 egative-Number-to-Unsigned-Integ
d5460 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 55 6e 73 69 er">Cast.Negative.Number.to.Unsi
d5480 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 64 72 22 20 gned.Integer</a>.<a.class="hdr".
d54a0 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 74 6f 2d 55 href="#Cast-Negative-Number-to-U
d54c0 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 0a 0a 20 20 nsigned-Integer">..</a></h3>....
d54e0 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 20 20 ....<p>At.compile-time:</p>.....
d5500 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
d5520 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 -cap"><cite.class="file">test.zi
d5540 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>
d5560 3c 73 70 61 6e 20 63 6c 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="
d5580 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 3e tok-kw">comptime</span>.{</span>
d55a0 0a 3c 73 70 61 6e 20 63 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
d55c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a ass="tok-kw">const</span>.value:
d55e0 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
d5600 6e 3e 20 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 n>.=.-<span.class="tok-number">1
d5620 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
d5640 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
d5660 74 3c 2f 73 70 61 6e 3e 20 75 6e 73 69 67 6e 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d t</span>.unsigned.=.<span.class=
d5680 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 3c 73 "tok-builtin">@intCast</span>(<s
d56a0 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>,
d56c0 20 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 .value);</span>.<span.class="lin
d56e0 65 22 3e 20 20 20 20 5f 20 3d 20 75 6e 73 69 67 6e 65 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 e">...._.=.unsigned;</span>.<spa
d5700 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></
d5720 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
d5740 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
d5760 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
d5780 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 e">$.<kbd>zig.test.test.zig</kbd
d57a0 3e 3c 2f 73 70 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
d57c0 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 n.class="t0_1">./docgen_tmp/test
d57e0 2e 7a 69 67 3a 33 3a 32 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .zig:3:22:.</span><span.class="t
d5800 33 31 5f 31 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 31_1">error:.</span><span.class=
d5820 22 74 30 5f 31 22 3e 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 "t0_1">attempt.to.cast.negative.
d5840 76 61 6c 75 65 20 74 6f 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e value.to.unsigned.integer</span>
d5860 3c 2f 73 70 61 6e 3e 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
d5880 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 3d 20 40 69 6e 74 43 61 73 74 28 75 33 32 2c 20 76 61 onst.unsigned.=.@intCast(u32,.va
d58a0 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 22 3e lue);</span>.<span.class="line">
d58c0 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
d58e0 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e ="t32_1">^</span></span>.</samp>
d5900 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 </pre></figure>.......<p>At.runt
d5920 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 ime:</p>.......<figure><figcapti
d5940 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="
d5960 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f file">test.zig</cite></figcaptio
d5980 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">
d59a0 3c 73 70 61 6e 20 63 6c 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
d59c0 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
d59e0 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
d5a00 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>);<
d5a20 2f 73 70 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
d5a40 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
d5a60 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
d5a80 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=
d5aa0 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
d5ac0 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
d5ae0 6e 3e 0a 3c 73 70 61 6e 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.
d5b00 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 3a class="tok-kw">var</span>.value:
d5b20 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
d5b40 6e 3e 20 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 n>.=.-<span.class="tok-number">1
d5b60 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
d5b80 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<
d5ba0 2f 73 70 61 6e 3e 20 75 6e 73 69 67 6e 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>.unsigned.=.<span.class="t
d5bc0 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 3c 73 70 61 ok-builtin">@intCast</span>(<spa
d5be0 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 20 76 n.class="tok-type">u32</span>,.v
d5c00 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 22 alue);</span>.<span.class="line"
d5c20 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 73 >....std.debug.print(<span.class
d5c40 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 6f ="tok-str">&quot;value:.{}\n&quo
d5c60 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 0a t;</span>,..{unsigned});</span>.
d5c80 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
d5ca0 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
d5cc0 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
d5ce0 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><samp><span.class=
d5d00 22 6c 69 6e 65 22 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 "line">$.<kbd>zig.build-exe.test
d5d20 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .zig</kbd></span>.<span.class="l
d5d40 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">
d5d60 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e $.<kbd>./test</kbd></span>.<span
d5d80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 35 32 33 31 20 70 61 6e .class="line">thread.1445231.pan
d5da0 69 63 3a 20 61 74 74 65 6d 70 74 20 74 6f 20 63 61 73 74 20 6e 65 67 61 74 69 76 65 20 76 61 6c ic:.attempt.to.cast.negative.val
d5dc0 75 65 20 74 6f 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 ue.to.unsigned.integer</span>.<s
d5de0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 pan.class="line"><span.class="t1
d5e00 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d _0">/home/andy/tmp/zig/docgen_tm
d5e20 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 30 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c p/test.zig:5:20</span>:.<span.cl
d5e40 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 39 37 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 ass="t2_0">0x22cd97.in.main.(tes
d5e60 74 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 73 73 3d 22 6c 69 t)</span></span>.<span.class="li
d5e80 6e 65 22 3e 20 20 20 20 76 61 72 20 75 6e 73 69 67 6e 65 64 20 3d 20 40 69 6e 74 43 61 73 74 28 ne">....var.unsigned.=.@intCast(
d5ea0 75 33 32 2c 20 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 u32,.value);</span>.<span.class=
d5ec0 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 3c 73 70 61 6e 20 "line">...................<span.
d5ee0 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 class="t32_1">^</span></span>.<s
d5f00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 pan.class="line"><span.class="t1
d5f20 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 _0">/home/andy/tmp/zig/lib/std/s
d5f40 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c tart.zig:551:22</span>:.<span.cl
d5f60 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 34 36 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x22646c.in.std.start
d5f80 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .callMain.(test)</span></span>.<
d5fa0 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 6f span.class="line">............ro
d5fc0 6f 74 2e 6d 61 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 22 6c ot.main();</span>.<span.class="l
d5fe0 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 3c 73 70 61 6e 20 ine">.....................<span.
d6000 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 class="t32_1">^</span></span>.<s
d6020 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 pan.class="line"><span.class="t1
d6040 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 _0">/home/andy/tmp/zig/lib/std/s
d6060 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c tart.zig:495:12</span>:.<span.cl
d6080 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 38 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x20708e.in.std.start
d60a0 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c .callMainWithArgs.(test)</span><
d60c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 /span>.<span.class="line">....re
d60e0 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 turn.@call(.{..modifier.=..alway
d6100 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 s_inline.},.callMain,..{});</spa
d6120 6e 3e 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">..........
d6140 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 .<span.class="t32_1">^</span></s
d6160 70 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
d6180 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 ass="t1_0">/home/andy/tmp/zig/li
d61a0 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c b/std/start.zig:409:17</span>:.<
d61c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 32 36 20 69 6e 20 73 74 span.class="t2_0">0x206126.in.st
d61e0 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 d.start.posixCallMainAndExit.(te
d6200 73 74 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 73 73 3d 22 6c st)</span></span>.<span.class="l
d6220 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d ine">....std.os.exit(@call(.{..m
d6240 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c odifier.=..always_inline.},.call
d6260 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 MainWithArgs,..{.argc,.argv,.env
d6280 70 20 7d 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 p.}));</span>.<span.class="line"
d62a0 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 33 >................<span.class="t3
d62c0 32 5f 31 22 3e 5e 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 2_1">^</span></span>.<span.class
d62e0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 ="line"><span.class="t1_0">/home
d6300 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a /andy/tmp/zig/lib/std/start.zig:
d6320 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 322:5</span>:.<span.class="t2_0"
d6340 3e 30 78 32 30 35 66 33 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 >0x205f32.in.std.start._start.(t
d6360 65 73 74 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 73 73 3d 22 est)</span></span>.<span.class="
d6380 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e line">....@call(.{..modifier.=..
d63a0 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 never_inline.},.posixCallMainAnd
d63c0 45 78 69 74 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 Exit,..{});</span>.<span.class="
d63e0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c line">....<span.class="t32_1">^<
d6400 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"
d6420 3e 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 3c >(process.terminated.by.signal)<
d6440 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>...
d6460 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 6d 61 78 69 ....<p>.......To.obtain.the.maxi
d6480 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 mum.value.of.an.unsigned.integer
d64a0 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 65 22 3e 73 ,.use.<code><span.class="line">s
d64c0 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 td.math.maxInt</span></code>....
d64e0 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 43 61 ....</p>..............<h3.id="Ca
d6500 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 st-Truncates-Data"><a.href="#toc
d6520 2d 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e 43 61 73 74 20 54 72 75 6e 63 -Cast-Truncates-Data">Cast.Trunc
d6540 61 74 65 73 20 44 61 74 61 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 ates.Data</a>.<a.class="hdr".hre
d6560 66 3d 22 23 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e c2 a7 3c 2f 61 3e 3c f="#Cast-Truncates-Data">..</a><
d6580 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:<
d65a0 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
d65c0 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"
d65e0 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 >test.zig</cite></figcaption><pr
d6600 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
d6620 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>.
d6640 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">....
d6660 3c 73 70 61 6e 20 63 6c 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
d6680 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 3d 22 74 6f >.spartan_count:.<span.class="to
d66a0 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 6c 61 73 73 k-type">u16</span>.=.<span.class
d66c0 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 70 61 6e 3e ="tok-number">300</span>;</span>
d66e0 0a 3c 73 70 61 6e 20 63 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
d6700 61 73 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 20 3d ass="tok-kw">const</span>.byte.=
d6720 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 43 .<span.class="tok-builtin">@intC
d6740 61 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 74 79 70 65 ast</span>(<span.class="tok-type
d6760 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 3c 2f 73 70 ">u8</span>,.spartan_count);</sp
d6780 61 6e 3e 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 an>.<span.class="line">...._.=.b
d67a0 79 74 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 7d yte;</span>.<span.class="line">}
d67c0 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
d67e0 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
d6800 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>
d6820 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 <span.class="line">$.<kbd>zig.te
d6840 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 st.test.zig</kbd></span>.<span.c
d6860 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e lass="line"><span.class="t0_1">.
d6880 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 38 3a 20 3c 2f 73 70 61 /docgen_tmp/test.zig:3:18:.</spa
d68a0 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 n><span.class="t31_1">error:.</s
d68c0 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 73 74 20 66 72 6f 6d pan><span.class="t0_1">cast.from
d68e0 20 27 75 31 36 27 20 74 6f 20 27 75 38 27 20 74 72 75 6e 63 61 74 65 73 20 62 69 74 73 3c 2f 73 .'u16'.to.'u8'.truncates.bits</s
d6900 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">.
d6920 20 20 20 63 6f 6e 73 74 20 62 79 74 65 20 3d 20 40 69 6e 74 43 61 73 74 28 75 38 2c 20 73 70 61 ...const.byte.=.@intCast(u8,.spa
d6940 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 73 3d rtan_count);</span>.<span.class=
d6960 22 6c 69 6e 65 22 3e 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 "line">.................<span.cl
d6980 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 ass="t32_1">^</span></span>.</sa
d69a0 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 mp></pre></figure>.......<p>At.r
d69c0 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 untime:</p>.......<figure><figca
d69e0 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
d6a00 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 s="file">test.zig</cite></figcap
d6a20 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
d6a40 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
d6a60 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
d6a80 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=
d6aa0 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>
d6ac0 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
d6ae0 70 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
d6b00 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
d6b20 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
d6b40 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.
d6b60 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>.{</
d6b80 73 70 61 6e 3e 0a 3c 73 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
d6ba0 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 70 61 an.class="tok-kw">var</span>.spa
d6bc0 72 74 61 6e 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 rtan_count:.<span.class="tok-typ
d6be0 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 22 74 6f 6b e">u16</span>.=.<span.class="tok
d6c00 2d 6e 75 6d 62 65 72 22 3e 33 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">300</span>;</span>.<spa
d6c20 6e 20 63 6c 61 73 73 3d 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="
d6c40 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 20 3d 20 3c 73 70 61 tok-kw">const</span>.byte.=.<spa
d6c60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f n.class="tok-builtin">@intCast</
d6c80 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 38 3c span>(<span.class="tok-type">u8<
d6ca0 2f 73 70 61 6e 3e 2c 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c /span>,.spartan_count);</span>.<
d6cc0 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 67 2e span.class="line">....std.debug.
d6ce0 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
d6d00 74 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 t;value:.{}\n&quot;</span>,..{by
d6d20 74 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 te});</span>.<span.class="line">
d6d40 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
d6d60 69 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
d6d80 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
d6da0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 ><span.class="line">$.<kbd>zig.b
d6dc0 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c uild-exe.test.zig</kbd></span>.<
d6de0 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.
d6e00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e class="line">$.<kbd>./test</kbd>
d6e20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 </span>.<span.class="line">threa
d6e40 64 20 31 34 34 35 33 36 35 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 63 61 73 74 20 74 72 d.1445365.panic:.integer.cast.tr
d6e60 75 6e 63 61 74 65 64 20 62 69 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d uncated.bits</span>.<span.class=
d6e80 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f "line"><span.class="t1_0">/home/
d6ea0 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 andy/tmp/zig/docgen_tmp/test.zig
d6ec0 3a 35 3a 31 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 :5:18</span>:.<span.class="t2_0"
d6ee0 3e 30 78 32 32 63 64 39 63 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c >0x22cd9c.in.main.(test)</span><
d6f00 2f 73 70 61 6e 3e 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 6f /span>.<span.class="line">....co
d6f20 6e 73 74 20 62 79 74 65 20 3d 20 40 69 6e 74 43 61 73 74 28 75 38 2c 20 73 70 61 72 74 61 6e 5f nst.byte.=.@intCast(u8,.spartan_
d6f40 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 73 3d 22 6c 69 6e 65 count);</span>.<span.class="line
d6f60 22 3e 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="
d6f80 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t32_1">^</span></span>.<span.cla
d6fa0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f ss="line"><span.class="t1_0">/ho
d6fc0 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 me/andy/tmp/zig/lib/std/start.zi
d6fe0 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 g:551:22</span>:.<span.class="t2
d7000 5f 30 22 3e 30 78 32 32 36 34 36 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 _0">0x22646c.in.std.start.callMa
d7020 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c in.(test)</span></span>.<span.cl
d7040 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e ass="line">............root.main
d7060 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">..
d7080 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="
d70a0 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t32_1">^</span></span>.<span.cla
d70c0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f ss="line"><span.class="t1_0">/ho
d70e0 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 me/andy/tmp/zig/lib/std/start.zi
d7100 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 g:495:12</span>:.<span.class="t2
d7120 5f 30 22 3e 30 78 32 30 37 30 38 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 _0">0x20708e.in.std.start.callMa
d7140 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a inWithArgs.(test)</span></span>.
d7160 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 <span.class="line">....return.@c
d7180 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e all(.{..modifier.=..always_inlin
d71a0 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 e.},.callMain,..{});</span>.<spa
d71c0 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 3c 73 70 61 6e 20 n.class="line">...........<span.
d71e0 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 class="t32_1">^</span></span>.<s
d7200 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 pan.class="line"><span.class="t1
d7220 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 _0">/home/andy/tmp/zig/lib/std/s
d7240 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c tart.zig:409:17</span>:.<span.cl
d7260 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 32 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x206126.in.std.start
d7280 2e 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 3c 2f 73 70 .posixCallMainAndExit.(test)</sp
d72a0 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">..
d72c0 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 ..std.os.exit(@call(.{..modifier
d72e0 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 .=..always_inline.},.callMainWit
d7300 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c hArgs,..{.argc,.argv,.envp.}));<
d7320 2f 73 70 61 6e 3e 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">......
d7340 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c ..........<span.class="t32_1">^<
d7360 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"
d7380 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 ><span.class="t1_0">/home/andy/t
d73a0 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f mp/zig/lib/std/start.zig:322:5</
d73c0 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 span>:.<span.class="t2_0">0x205f
d73e0 33 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 32.in.std.start._start.(test)</s
d7400 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">.
d7420 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 ...@call(.{..modifier.=..never_i
d7440 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e nline.},.posixCallMainAndExit,..
d7460 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">.
d7480 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c ...<span.class="t32_1">^</span><
d74a0 2f 73 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 70 72 6f 63 65 /span>.<span.class="line">(proce
d74c0 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a ss.terminated.by.signal)</span>.
d74e0 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>
d7500 0a 20 20 20 20 20 20 54 6f 20 74 72 75 6e 63 61 74 65 20 62 69 74 73 2c 20 75 73 65 20 3c 61 20 .......To.truncate.bits,.use.<a.
d7520 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 65 3c 2f 61 3e 2e 0a href="#truncate">@truncate</a>..
d7540 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 ......</p>..............<h3.id="
d7560 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d Integer-Overflow"><a.href="#toc-
d7580 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 72 66 6c Integer-Overflow">Integer.Overfl
d75a0 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 ow</a>.<a.class="hdr".href="#Int
d75c0 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 eger-Overflow">..</a></h3>......
d75e0 20 20 3c 68 34 20 69 64 3d 22 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 3c 61 ..<h4.id="Default-Operations"><a
d7600 20 68 72 65 66 3d 22 23 74 6f 63 2d 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e .href="#toc-Default-Operations">
d7620 44 65 66 61 75 6c 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d Default.Operations</a>.<a.class=
d7640 22 68 64 72 22 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 "hdr".href="#Default-Operations"
d7660 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 66 6f 6c 6c 6f >..</a></h4>........<p>The.follo
d7680 77 69 6e 67 20 6f 70 65 72 61 74 6f 72 73 20 63 61 6e 20 63 61 75 73 65 20 69 6e 74 65 67 65 72 wing.operators.can.cause.integer
d76a0 20 6f 76 65 72 66 6c 6f 77 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 .overflow:</p>.......<ul>.......
d76c0 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"
d76e0 3e 2b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 61 64 64 69 74 69 6f 6e 29 3c 2f 6c 69 3e >+</span></code>.(addition)</li>
d7700 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
d7720 3d 22 6c 69 6e 65 22 3e 2d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 73 75 62 74 72 61 63 ="line">-</span></code>.(subtrac
d7740 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c tion)</li>...........<li><code><
d7760 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 3c 2f 63 6f 64 65 span.class="line">-</span></code
d7780 3e 20 28 6e 65 67 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 >.(negation)</li>...........<li>
d77a0 3c 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 6e <code><span.class="line">*</span
d77c0 3e 3c 2f 63 6f 64 65 3e 20 28 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 ></code>.(multiplication)</li>..
d77e0 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="
d7800 6c 69 6e 65 22 3e 2f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 64 69 76 69 73 69 6f 6e 29 line">/</span></code>.(division)
d7820 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 54 </li>.........<li><a.href="#divT
d7840 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 20 28 64 69 76 69 73 69 6f 6e 29 3c 2f runc">@divTrunc</a>.(division)</
d7860 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f li>.........<li><a.href="#divFlo
d7880 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 20 28 64 69 76 69 73 69 6f 6e 29 3c 2f 6c 69 or">@divFloor</a>.(division)</li
d78a0 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 >.........<li><a.href="#divExact
d78c0 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 20 28 64 69 76 69 73 69 6f 6e 29 3c 2f 6c 69 3e 0a ">@divExact</a>.(division)</li>.
d78e0 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 45 78 61 6d 70 6c 65 20 77 69 74 ......</ul>.......<p>Example.wit
d7900 68 20 61 64 64 69 74 69 6f 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a h.addition.at.compile-time:</p>.
d7920 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=
d7940 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
d7960 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
d7980 6f 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
d79a0 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
d79c0 70 61 6e 3e 0a 3c 73 70 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
d79e0 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
d7a00 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
d7a20 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
d7a40 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
d7a60 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 6f 6b ne">....byte.+=.<span.class="tok
d7a80 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.
d7aa0 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
d7ac0 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
d7ae0 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
d7b00 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
d7b20 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c >$.<kbd>zig.test.test.zig</kbd><
d7b40 2f 73 70 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.
d7b60 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a class="t0_1">./docgen_tmp/test.z
d7b80 69 67 3a 33 3a 31 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 ig:3:10:.</span><span.class="t31
d7ba0 5f 31 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 74 _1">error:.</span><span.class="t
d7bc0 30 5f 31 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 3c 2f 0_1">operation.caused.overflow</
d7be0 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">
d7c00 20 20 20 20 62 79 74 65 20 2b 3d 20 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ....byte.+=.1;</span>.<span.clas
d7c20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 s="line">.........<span.class="t
d7c40 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 32_1">^</span></span>.</samp></p
d7c60 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
d7c80 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.
d7ca0 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
d7cc0 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c e">test.zig</cite></figcaption><
d7ce0 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
d7d00 61 6e 20 63 6c 61 73 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
d7d20 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">@
d7d40 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
d7d60 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
d7d80 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>.<
d7da0 73 70 61 6e 20 63 6c 61 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
d7dc0 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
d7de0 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
d7e00 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 3d k-fn">main</span>().<span.class=
d7e20 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>.
d7e40 3c 73 70 61 6e 20 63 6c 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
d7e60 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 3c 73 70 ss="tok-kw">var</span>.byte:.<sp
d7e80 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>.=.
d7ea0 3c 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 <span.class="tok-number">255</sp
d7ec0 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">.
d7ee0 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 6f 6b 2d 6e 75 6d 62 ...byte.+=.<span.class="tok-numb
d7f00 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
d7f20 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 61 ="line">....std.debug.print(<spa
d7f40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b n.class="tok-str">&quot;value:.{
d7f60 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 7d 29 3b 3c 2f 73 70 61 }\n&quot;</span>,..{byte});</spa
d7f80 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></
d7fa0 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
d7fc0 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<
d7fe0 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><samp><span.cla
d8000 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 ss="line">$.<kbd>zig.build-exe.t
d8020 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig</kbd></span>.<span.class
d8040 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
d8060 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 e">$.<kbd>./test</kbd></span>.<s
d8080 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 35 34 34 34 20 pan.class="line">thread.1445444.
d80a0 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 3c panic:.integer.overflow</span>.<
d80c0 73 70 61 6e 20 63 6c 61 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
d80e0 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 1_0">/home/andy/tmp/zig/docgen_t
d8100 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 30 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 mp/test.zig:5:10</span>:.<span.c
d8120 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 37 66 20 69 6e 20 6d 61 69 6e 20 28 74 65 lass="t2_0">0x22cd7f.in.main.(te
d8140 73 74 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 73 73 3d 22 6c st)</span></span>.<span.class="l
d8160 69 6e 65 22 3e 20 20 20 20 62 79 74 65 20 2b 3d 20 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ine">....byte.+=.1;</span>.<span
d8180 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 .class="line">.........<span.cla
d81a0 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="t32_1">^</span></span>.<span
d81c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
d81e0 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 >/home/andy/tmp/zig/lib/std/star
d8200 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 t.zig:551:22</span>:.<span.class
d8220 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 34 36 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 ="t2_0">0x22646c.in.std.start.ca
d8240 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 llMain.(test)</span></span>.<spa
d8260 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 6f 6f 74 2e n.class="line">............root.
d8280 6d 61 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 22 6c 69 6e 65 main();</span>.<span.class="line
d82a0 22 3e 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 ">.....................<span.cla
d82c0 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="t32_1">^</span></span>.<span
d82e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
d8300 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 >/home/andy/tmp/zig/lib/std/star
d8320 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 t.zig:495:12</span>:.<span.class
d8340 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 38 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 ="t2_0">0x20708e.in.std.start.ca
d8360 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 llMainWithArgs.(test)</span></sp
d8380 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 an>.<span.class="line">....retur
d83a0 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 n.@call(.{..modifier.=..always_i
d83c0 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a nline.},.callMain,..{});</span>.
d83e0 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 3c 73 <span.class="line">...........<s
d8400 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e pan.class="t32_1">^</span></span
d8420 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
d8440 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 ="t1_0">/home/andy/tmp/zig/lib/s
d8460 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 td/start.zig:409:17</span>:.<spa
d8480 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 32 36 20 69 6e 20 73 74 64 2e 73 n.class="t2_0">0x206126.in.std.s
d84a0 74 61 72 74 2e 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 tart.posixCallMainAndExit.(test)
d84c0 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
d84e0 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 ">....std.os.exit(@call(.{..modi
d8500 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 fier.=..always_inline.},.callMai
d8520 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d nWithArgs,..{.argc,.argv,.envp.}
d8540 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 20 ));</span>.<span.class="line">..
d8560 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 33 32 5f 31 ..............<span.class="t32_1
d8580 22 3e 5e 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 ">^</span></span>.<span.class="l
d85a0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e ine"><span.class="t1_0">/home/an
d85c0 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 dy/tmp/zig/lib/std/start.zig:322
d85e0 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 :5</span>:.<span.class="t2_0">0x
d8600 32 30 35 66 33 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 205f32.in.std.start._start.(test
d8620 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 73 73 3d 22 6c 69 6e )</span></span>.<span.class="lin
d8640 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 e">....@call(.{..modifier.=..nev
d8660 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 er_inline.},.posixCallMainAndExi
d8680 74 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 6c 69 6e t,..{});</span>.<span.class="lin
d86a0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 e">....<span.class="t32_1">^</sp
d86c0 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 28 70 an></span>.<span.class="line">(p
d86e0 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 3c 2f 73 70 rocess.terminated.by.signal)</sp
d8700 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>......
d8720 20 0a 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 ........<h4.id="Standard-Library
d8740 2d 4d 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 -Math-Functions"><a.href="#toc-S
d8760 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 3e tandard-Library-Math-Functions">
d8780 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 6e 73 3c Standard.Library.Math.Functions<
d87a0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 61 6e 64 61 /a>.<a.class="hdr".href="#Standa
d87c0 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 c2 a7 3c 2f 61 rd-Library-Math-Functions">..</a
d87e0 3e 3c 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 ></h4>........<p>These.functions
d8800 20 70 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 .provided.by.the.standard.librar
d8820 79 20 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 y.return.possible.errors.</p>...
d8840 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 70 ....<ul>...........<li><code><sp
d8860 61 6e 20 63 6c 61 73 73 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
d8880 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
d88a0 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;</
d88c0 73 70 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 span>).math.add</span></code></l
d88e0 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
d8900 73 73 3d 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
d8920 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="
d8940 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>)
d8960 2e 6d 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 .math.sub</span></code></li>....
d8980 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
d89a0 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 69 ne"><span.class="tok-builtin">@i
d89c0 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
d89e0 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e r">&quot;std&quot;</span>).math.
d8a00 6d 75 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 mul</span></code></li>..........
d8a20 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
d8a40 70 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<
d8a60 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
d8a80 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 54 72 75 ot;std&quot;</span>).math.divTru
d8aa0 6e 63 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 nc</span></code></li>...........
d8ac0 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
d8ae0 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</
d8b00 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
d8b20 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 46 6c 6f 6f t;std&quot;</span>).math.divFloo
d8b40 72 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 r</span></code></li>...........<
d8b60 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
d8b80 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
d8ba0 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
d8bc0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 45 78 61 63 74 ;std&quot;</span>).math.divExact
d8be0 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
d8c00 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
d8c20 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
d8c40 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;
d8c60 73 74 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 std&quot;</span>).math.shl</span
d8c80 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 20 20 20 ></code></li>.......</ul>.......
d8ca0 3c 70 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 <p>Example.of.catching.an.overfl
d8cc0 6f 77 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 ow.for.addition:</p>.......<figu
d8ce0 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"><
d8d00 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 cite.class="file">test.zig</cite
d8d20 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
d8d40 6c 61 73 73 3d 22 6c 69 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"
d8d60 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 73 73 >const</span>.math.=.<span.class
d8d80 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
d8da0 70 61 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
d8dc0 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 20 63 ot;</span>).math;</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 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 >const</span>.print.=.<span.clas
d8e20 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>(<
d8e40 73 70 61 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
d8e60 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 6e 3e uot;</span>).debug.print;</span>
d8e80 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=
d8ea0 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=
d8ec0 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="
d8ee0 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 6c 61 tok-fn">main</span>().!<span.cla
d8f00 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
d8f20 6e 3e 0a 3c 73 70 61 6e 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.
d8f40 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 3a 20 class="tok-kw">var</span>.byte:.
d8f60 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>
d8f80 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 35 3c .=.<span.class="tok-number">255<
d8fa0 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
d8fc0 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">...
d8fe0 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 66 3c .byte.=.<span.class="tok-kw">if<
d9000 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 74 6f /span>.(math.add(<span.class="to
d9020 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 20 63 k-type">u8</span>,.byte,.<span.c
d9040 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 72 65 lass="tok-number">1</span>)).|re
d9060 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 6b 77 sult|.result.<span.class="tok-kw
d9080 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
d90a0 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 3c 73 an.class="line">........print(<s
d90c0 70 61 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 6c 65 pan.class="tok-str">&quot;unable
d90e0 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 3e 2c .to.add.one:.{s}\n&quot;</span>,
d9100 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 65 72 ..{<span.class="tok-builtin">@er
d9120 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 3c 73 rorName</span>(err)});</span>.<s
d9140 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
d9160 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 72 3b lass="tok-kw">return</span>.err;
d9180 3c 2f 73 70 61 6e 3e 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">....}
d91a0 3b 3c 2f 73 70 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
d91c0 61 6e 3e 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 an>.<span.class="line">....print
d91e0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 65 73 (<span.class="tok-str">&quot;res
d9200 75 6c 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 7d 29 ult:.{}\n&quot;</span>,..{byte})
d9220 3b 3c 2f 73 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
d9240 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
d9260 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">
d9280 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 3c 73 70 Shell</figcaption><pre><samp><sp
d92a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 an.class="line">$.<kbd>zig.build
d92c0 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -exe.test.zig</kbd></span>.<span
d92e0 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
d9300 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 s="line">$.<kbd>./test</kbd></sp
d9320 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 75 6e 61 62 6c 65 20 74 6f an>.<span.class="line">unable.to
d9340 20 61 64 64 20 6f 6e 65 3a 20 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .add.one:.Overflow</span>.<span.
d9360 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 class="line">error:.Overflow</sp
d9380 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
d93a0 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
d93c0 2f 73 74 64 2f 6d 61 74 68 2e 7a 69 67 3a 34 36 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 /std/math.zig:463:5</span>:.<spa
d93e0 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 34 37 62 20 69 6e 20 73 74 64 2e 6d n.class="t2_0">0x23447b.in.std.m
d9400 61 74 68 2e 61 64 64 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ath.add.(test)</span></span>.<sp
d9420 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 69 66 20 28 40 an.class="line">....return.if.(@
d9440 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 28 54 2c 20 61 2c 20 62 2c 20 26 61 6d 70 3b 61 6e addWithOverflow(T,.a,.b,.&amp;an
d9460 73 77 65 72 29 29 20 65 72 72 6f 72 2e 4f 76 65 72 66 6c 6f 77 20 65 6c 73 65 20 61 6e 73 77 65 swer)).error.Overflow.else.answe
d9480 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">...
d94a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 .<span.class="t32_1">^</span></s
d94c0 70 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
d94e0 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f ass="t1_0">/home/andy/tmp/zig/do
d9500 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 38 3a 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 cgen_tmp/test.zig:8:9</span>:.<s
d9520 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 64 30 63 34 20 69 6e 20 6d 61 69 pan.class="t2_0">0x22d0c4.in.mai
d9540 6e 20 28 74 65 73 74 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 n.(test)</span></span>.<span.cla
d9560 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 3b 3c 2f 73 ss="line">........return.err;</s
d9580 70 61 6e 3e 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">........
d95a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
d95c0 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>......
d95e0 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 ........<h4.id="Builtin-Overflow
d9600 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 42 75 69 6c 74 69 -Functions"><a.href="#toc-Builti
d9620 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 4f 76 n-Overflow-Functions">Builtin.Ov
d9640 65 72 66 6c 6f 77 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 erflow.Functions</a>.<a.class="h
d9660 64 72 22 20 68 72 65 66 3d 22 23 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 dr".href="#Builtin-Overflow-Func
d9680 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 tions">..</a></h4>........<p>...
d96a0 20 20 20 20 54 68 65 73 65 20 62 75 69 6c 74 69 6e 73 20 72 65 74 75 72 6e 20 61 20 3c 63 6f 64 ....These.builtins.return.a.<cod
d96c0 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
d96e0 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 3c 2f ="tok-type">bool</span></span></
d9700 63 6f 64 65 3e 20 6f 66 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 6f 76 65 72 66 6c 6f 77 code>.of.whether.or.not.overflow
d9720 0a 20 20 20 20 20 20 6f 63 63 75 72 72 65 64 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 72 65 74 75 .......occurred,.as.well.as.retu
d9740 72 6e 69 6e 67 20 74 68 65 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 3a 0a 20 20 20 20 20 rning.the.overflowed.bits:......
d9760 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><
d9780 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 64 64 57 69 a.href="#addWithOverflow">@addWi
d97a0 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 3c 6c thOverflow</a></li>...........<l
d97c0 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 75 i><a.href="#subWithOverflow">@su
d97e0 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 bWithOverflow</a></li>..........
d9800 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e .<li><a.href="#mulWithOverflow">
d9820 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 @mulWithOverflow</a></li>.......
d9840 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f ....<li><a.href="#shlWithOverflo
d9860 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 w">@shlWithOverflow</a></li>....
d9880 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 61 6d 70 6c 65 ...</ul>.......<p>.......Example
d98a0 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 .of.<a.href="#addWithOverflow">@
d98c0 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a addWithOverflow</a>:.......</p>.
d98e0 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=
d9900 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
d9920 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
d9940 6f 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
d9960 73 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.=
d9980 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
d99a0 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">
d99c0 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
d99e0 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"><
d9a00 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>.<
d9a20 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
d9a40 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>()
d9a60 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
d9a80 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">
d9aa0 20 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
d9ac0 61 6e 3e 20 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 an>.byte:.<span.class="tok-type"
d9ae0 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
d9b00 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 20 63 mber">255</span>;</span>.<span.c
d9b20 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=
d9b40 22 6c 69 6e 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">
d9b60 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 var</span>.result:.<span.class="
d9b80 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
d9ba0 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 3c 2f s="tok-null">undefined</span>;</
d9bc0 73 70 61 6e 3e 0a 3c 73 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
d9be0 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 3c 73 70 an.class="tok-kw">if</span>.(<sp
d9c00 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
d9c20 76 65 72 66 6c 6f 77 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 verflow</span>(<span.class="tok-
d9c40 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 20 63 6c 61 type">u8</span>,.byte,.<span.cla
d9c60 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 26 61 6d 70 3b ss="tok-number">10</span>,.&amp;
d9c80 72 65 73 75 6c 74 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 result)).{</span>.<span.class="l
d9ca0 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 3d 22 ine">........print(<span.class="
d9cc0 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 6c 74 tok-str">&quot;overflowed.result
d9ce0 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 72 65 73 75 6c 74 7d 29 3b :.{}\n&quot;</span>,..{result});
d9d00 3c 2f 73 70 61 6e 3e 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">....}
d9d20 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
d9d40 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">..
d9d60 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ......print(<span.class="tok-str
d9d80 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 6e ">&quot;result:.{}\n&quot;</span
d9da0 3e 2c 20 2e 7b 72 65 73 75 6c 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >,..{result});</span>.<span.clas
d9dc0 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
d9de0 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></
d9e00 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
d9e20 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><
d9e40 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
d9e60 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e kbd>zig.build-exe.test.zig</kbd>
d9e80 3c 2f 73 70 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
d9ea0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 n>.<span.class="line">$.<kbd>./t
d9ec0 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 est</kbd></span>.<span.class="li
d9ee0 6e 65 22 3e 6f 76 65 72 66 6c 6f 77 65 64 20 72 65 73 75 6c 74 3a 20 39 3c 2f 73 70 61 6e 3e 0a ne">overflowed.result:.9</span>.
d9f00 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>..........
d9f20 20 20 20 20 3c 68 34 20 69 64 3d 22 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 ....<h4.id="Wrapping-Operations"
d9f40 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f ><a.href="#toc-Wrapping-Operatio
d9f60 6e 73 22 3e 57 72 61 70 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 ns">Wrapping.Operations</a>.<a.c
d9f80 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 lass="hdr".href="#Wrapping-Opera
d9fa0 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 tions">..</a></h4>........<p>...
d9fc0 20 20 20 20 54 68 65 73 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 68 61 76 65 20 67 75 61 72 61 6e ....These.operations.have.guaran
d9fe0 74 65 65 64 20 77 72 61 70 61 72 6f 75 6e 64 20 73 65 6d 61 6e 74 69 63 73 2e 0a 20 20 20 20 20 teed.wraparound.semantics.......
da000 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><
da020 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 6e code><span.class="line">+%</span
da040 3e 3c 2f 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 ></code>.(wraparound.addition)</
da060 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c li>...........<li><code><span.cl
da080 61 73 73 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 ass="line">-%</span></code>.(wra
da0a0 70 61 72 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 paround.subtraction)</li>.......
da0c0 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"
da0e0 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 6f 75 6e 64 20 6e 65 >-%</span></code>.(wraparound.ne
da100 67 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 64 65 gation)</li>...........<li><code
da120 3e 3c 73 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 ><span.class="line">*%</span></c
da140 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 29 ode>.(wraparound.multiplication)
da160 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 66 69 67 75 72 65 3e </li>.......</ul>.......<figure>
da180 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
da1a0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 72 61 70 61 72 6f 75 6e 64 5f 73 65 6d 61 6e 74 e.class="file">wraparound_semant
da1c0 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 65 3e ics.zig</cite></figcaption><pre>
da1e0 3c 63 6f 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
da200 6c 61 73 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.=
da220 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
da240 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">
da260 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>.
da280 3c 73 70 61 6e 20 63 6c 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="
da2a0 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
da2c0 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
da2e0 6c 61 73 73 3d 22 6c 69 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"
da300 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 68 2e >const</span>.minInt.=.std.math.
da320 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 6e 65 minInt;</span>.<span.class="line
da340 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
da360 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 2f 73 an>.maxInt.=.std.math.maxInt;</s
da380 70 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>.
da3a0 3c 73 70 61 6e 20 63 6c 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="
da3c0 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=
da3e0 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 69 74 "tok-str">&quot;wraparound.addit
da400 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 6e 3e ion.and.subtraction&quot;</span>
da420 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">...
da440 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
da460 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 33 32 n>.x:.<span.class="tok-type">i32
da480 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 74 6f </span>.=.maxInt(<span.class="to
da4a0 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 61 k-type">i32</span>);</span>.<spa
da4c0 6e 20 63 6c 61 73 73 3d 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="
da4e0 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 20 78 tok-kw">const</span>.min_val.=.x
da500 20 2b 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f .+%.<span.class="tok-number">1</
da520 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"
da540 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
da560 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 69 6e 5f 76 61 6c 20 3d 3d 20 6d 69 6e 49 6e 74 28 3c 73 pan>.expect(min_val.==.minInt(<s
da580 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>)
da5a0 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">...
da5c0 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
da5e0 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 63 6c n>.max_val.=.min_val.-%.<span.cl
da600 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
da620 3e 0a 3c 73 70 61 6e 20 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
da640 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(
da660 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 22 74 max_val.==.maxInt(<span.class="t
da680 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 73 ok-type">i32</span>));</span>.<s
da6a0 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>
da6c0 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
da6e0 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
da700 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><samp><span.class="l
da720 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 77 72 61 70 61 72 6f 75 6e 64 5f ine">$.<kbd>zig.test.wraparound_
da740 73 65 6d 61 6e 74 69 63 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e semantics.zig</kbd></span>.<span
da760 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 72 61 .class="line">1/1.test.&quot;wra
da780 70 61 72 6f 75 6e 64 20 61 64 64 69 74 69 6f 6e 20 61 6e 64 20 73 75 62 74 72 61 63 74 69 6f 6e paround.addition.and.subtraction
da7a0 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
da7c0 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e "line">All.1.tests.passed.</span
da7e0 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 0a >.</samp></pre></figure>........
da800 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 74 2d 4c 65 66 74 2d .............<h3.id="Exact-Left-
da820 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 Shift-Overflow"><a.href="#toc-Ex
da840 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 20 4c act-Left-Shift-Overflow">Exact.L
da860 65 66 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d eft.Shift.Overflow</a>.<a.class=
da880 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 "hdr".href="#Exact-Left-Shift-Ov
da8a0 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 erflow">..</a></h3>........<p>At
da8c0 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
da8e0 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
da900 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c te.class="file">test.zig</cite><
da920 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
da940 73 73 3d 22 6c 69 6e 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
da960 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 6c omptime</span>.{</span>.<span.cl
da980 61 73 73 3d 22 6c 69 6e 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-
da9a0 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 20 63 6c 61 73 73 kw">const</span>.x.=.<span.class
da9c0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 ="tok-builtin">@shlExact</span>(
da9e0 3c 73 70 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
daa00 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</
daa20 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">
daa40 30 62 30 31 30 31 30 31 30 31 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 0b01010101</span>),.<span.class=
daa60 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>.<
daa80 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 78 3b 3c 2f 73 70 span.class="line">...._.=.x;</sp
daaa0 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><
daac0 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
daae0 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
dab00 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c </figcaption><pre><samp><span.cl
dab20 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e ass="line">$.<kbd>zig.test.test.
dab40 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 zig</kbd></span>.<span.class="li
dab60 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f ne"><span.class="t0_1">./docgen_
dab80 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 tmp/test.zig:2:15:.</span><span.
daba0 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 class="t31_1">error:.</span><spa
dabc0 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 6f 70 65 72 61 74 69 6f 6e 20 63 61 75 73 65 64 20 n.class="t0_1">operation.caused.
dabe0 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 61 overflow</span></span>.<span.cla
dac00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 40 73 68 6c 45 78 61 63 ss="line">....const.x.=.@shlExac
dac20 74 28 40 61 73 28 75 38 2c 20 30 62 30 31 30 31 30 31 30 31 29 2c 20 32 29 3b 3c 2f 73 70 61 6e t(@as(u8,.0b01010101),.2);</span
dac40 3e 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">...........
dac60 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c ...<span.class="t32_1">^</span><
dac80 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>...
daca0 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
dacc0 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"
dace0 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 7a 69 67 3c 2f 63 69 ><cite.class="file">test.zig</ci
dad00 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
dad20 20 63 6c 61 73 73 3d 22 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
dad40 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
dad60 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>(<
dad80 73 70 61 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
dada0 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
dadc0 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
dade0 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
dae00 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
dae20 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 >.<span.class="tok-fn">main</spa
dae40 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 n>().<span.class="tok-type">void
dae60 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
dae80 6e 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
daea0 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
daec0 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
daee0 75 6d 62 65 72 22 3e 30 62 30 31 30 31 30 31 30 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e umber">0b01010101</span>;</span>
daf00 0a 3c 73 70 61 6e 20 63 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
daf20 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 20 3d 20 3c 73 70 61 ass="tok-kw">var</span>.y.=.<spa
daf40 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 3c n.class="tok-builtin">@shlExact<
daf60 2f 73 70 61 6e 3e 28 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 /span>(x,.<span.class="tok-numbe
daf80 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
dafa0 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 61 ="line">....std.debug.print(<spa
dafc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b n.class="tok-str">&quot;value:.{
dafe0 7d 5c 6e 26 71 75 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 }\n&quot;</span>,..{y});</span>.
db000 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
db020 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
db040 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
db060 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><samp><span.class=
db080 22 6c 69 6e 65 22 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 "line">$.<kbd>zig.build-exe.test
db0a0 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .zig</kbd></span>.<span.class="l
db0c0 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">
db0e0 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e $.<kbd>./test</kbd></span>.<span
db100 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 36 31 30 33 20 70 61 6e .class="line">thread.1446103.pan
db120 69 63 3a 20 6c 65 66 74 20 73 68 69 66 74 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 3c 2f ic:.left.shift.overflowed.bits</
db140 73 70 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
db160 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 lass="t1_0">/home/andy/tmp/zig/d
db180 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 33 3c 2f 73 70 61 6e 3e 3a 20 ocgen_tmp/test.zig:5:13</span>:.
db1a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 64 62 20 69 6e 20 6d <span.class="t2_0">0x22cddb.in.m
db1c0 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ain.(test)</span></span>.<span.c
db1e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 79 20 3d 20 40 73 68 6c 45 78 61 63 lass="line">....var.y.=.@shlExac
db200 74 28 78 2c 20 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 t(x,.2);</span>.<span.class="lin
db220 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 33 32 5f e">............<span.class="t32_
db240 31 22 3e 5e 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="
db260 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 line"><span.class="t1_0">/home/a
db280 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 ndy/tmp/zig/lib/std/start.zig:55
db2a0 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 1:22</span>:.<span.class="t2_0">
db2c0 30 78 32 32 36 34 61 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 0x2264ac.in.std.start.callMain.(
db2e0 74 65 73 74 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 73 73 3d test)</span></span>.<span.class=
db300 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c "line">............root.main();<
db320 2f 73 70 61 6e 3e 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">......
db340 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 33 32 5f ...............<span.class="t32_
db360 31 22 3e 5e 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="
db380 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 line"><span.class="t1_0">/home/a
db3a0 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 ndy/tmp/zig/lib/std/start.zig:49
db3c0 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 5:12</span>:.<span.class="t2_0">
db3e0 30 78 32 30 37 30 63 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 0x2070ce.in.std.start.callMainWi
db400 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 thArgs.(test)</span></span>.<spa
db420 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 n.class="line">....return.@call(
db440 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c .{..modifier.=..always_inline.},
db460 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .callMain,..{});</span>.<span.cl
db480 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ass="line">...........<span.clas
db4a0 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="t32_1">^</span></span>.<span.
db4c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e class="line"><span.class="t1_0">
db4e0 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 /home/andy/tmp/zig/lib/std/start
db500 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .zig:409:17</span>:.<span.class=
db520 22 74 32 5f 30 22 3e 30 78 32 30 36 31 36 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 "t2_0">0x206166.in.std.start.pos
db540 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c ixCallMainAndExit.(test)</span><
db560 2f 73 70 61 6e 3e 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
db580 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e d.os.exit(@call(.{..modifier.=..
db5a0 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 always_inline.},.callMainWithArg
db5c0 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 s,..{.argc,.argv,.envp.}));</spa
db5e0 6e 3e 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">..........
db600 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 ......<span.class="t32_1">^</spa
db620 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
db640 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
db660 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e ig/lib/std/start.zig:322:5</span
db680 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 37 32 20 69 >:.<span.class="t2_0">0x205f72.i
db6a0 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e n.std.start._start.(test)</span>
db6c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 </span>.<span.class="line">....@
db6e0 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e call(.{..modifier.=..never_inlin
db700 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b e.},.posixCallMainAndExit,..{});
db720 3c 2f 73 70 61 6e 3e 0a 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">....<
db740 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 span.class="t32_1">^</span></spa
db760 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 n>.<span.class="line">(process.t
db780 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 erminated.by.signal)</span>.</sa
db7a0 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>..............
db7c0 3c 68 33 20 69 64 3d 22 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c <h3.id="Exact-Right-Shift-Overfl
db7e0 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 ow"><a.href="#toc-Exact-Right-Sh
db800 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 20 52 69 67 68 74 20 53 68 69 66 74 20 ift-Overflow">Exact.Right.Shift.
db820 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 Overflow</a>.<a.class="hdr".href
db840 3d 22 23 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 ="#Exact-Right-Shift-Overflow">.
db860 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d .</a></h3>........<p>At.compile-
db880 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 time:</p>.......<figure><figcapt
db8a0 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=
db8c0 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 "file">test.zig</cite></figcapti
db8e0 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"
db900 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</
db920 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
db940 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
db960 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 62 75 69 </span>.x.=.<span.class="tok-bui
db980 6c 74 69 6e 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ltin">@shrExact</span>(<span.cla
db9a0 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 61 ss="tok-builtin">@as</span>(<spa
db9c0 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 73 n.class="tok-type">u8</span>,.<s
db9e0 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 30 31 pan.class="tok-number">0b1010101
dba00 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 6e 75 6d 62 0</span>),.<span.class="tok-numb
dba20 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 73 er">2</span>);</span>.<span.clas
dba40 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e s="line">...._.=.x;</span>.<span
dba60 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
dba80 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.
dbaa0 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
dbac0 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ion><pre><samp><span.class="line
dbae0 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e ">$.<kbd>zig.test.test.zig</kbd>
dbb00 3c 2f 73 70 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
dbb20 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e .class="t0_1">./docgen_tmp/test.
dbb40 7a 69 67 3a 32 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 zig:2:15:.</span><span.class="t3
dbb60 31 5f 31 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 1_1">error:.</span><span.class="
dbb80 74 30 5f 31 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 t0_1">exact.shift.shifted.out.1.
dbba0 62 69 74 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 bits</span></span>.<span.class="
dbbc0 6c 69 6e 65 22 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 40 61 line">....const.x.=.@shrExact(@a
dbbe0 73 28 75 38 2c 20 30 62 31 30 31 30 31 30 31 30 29 2c 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 s(u8,.0b10101010),.2);</span>.<s
dbc00 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 3c pan.class="line">..............<
dbc20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 span.class="t32_1">^</span></spa
dbc40 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>.......
dbc60 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 65 <p>At.runtime:</p>.......<figure
dbc80 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
dbca0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c te.class="file">test.zig</cite><
dbcc0 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
dbce0 73 73 3d 22 6c 69 6e 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
dbd00 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
dbd20 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
dbd40 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;
dbd60 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
dbd80 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"><
dbda0 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>.<
dbdc0 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
dbde0 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>()
dbe00 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
dbe20 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">
dbe40 20 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
dbe60 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 75 38 an>.x:.<span.class="tok-type">u8
dbe80 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
dbea0 72 22 3e 30 62 31 30 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 r">0b10101010</span>;</span>.<sp
dbec0 61 6e 20 63 6c 61 73 73 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=
dbee0 22 74 6f 6b 2d 6b 77 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 "tok-kw">var</span>.y.=.<span.cl
dbf00 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 73 70 61 ass="tok-builtin">@shrExact</spa
dbf20 6e 3e 28 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 n>(x,.<span.class="tok-number">2
dbf40 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
dbf60 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 61 6e 20 63 6c ne">....std.debug.print(<span.cl
dbf80 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 ass="tok-str">&quot;value:.{}\n&
dbfa0 71 75 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 quot;</span>,..{y});</span>.<spa
dbfc0 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></
dbfe0 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
dc000 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
dc020 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
dc040 65 22 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 2e 7a 69 67 e">$.<kbd>zig.build-exe.test.zig
dc060 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 </kbd></span>.<span.class="line"
dc080 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b ></span>.<span.class="line">$.<k
dc0a0 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 bd>./test</kbd></span>.<span.cla
dc0c0 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 36 32 36 36 20 70 61 6e 69 63 3a 20 ss="line">thread.1446266.panic:.
dc0e0 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 3c 2f 73 70 61 right.shift.overflowed.bits</spa
dc100 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
dc120 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 s="t1_0">/home/andy/tmp/zig/docg
dc140 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 en_tmp/test.zig:5:13</span>:.<sp
dc160 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 64 62 20 69 6e 20 6d 61 69 6e an.class="t2_0">0x22cddb.in.main
dc180 20 28 74 65 73 74 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 73 .(test)</span></span>.<span.clas
dc1a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 79 20 3d 20 40 73 68 72 45 78 61 63 74 28 78 s="line">....var.y.=.@shrExact(x
dc1c0 2c 20 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 ,.2);</span>.<span.class="line">
dc1e0 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 33 32 5f 31 22 3e ............<span.class="t32_1">
dc200 5e 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
dc220 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 e"><span.class="t1_0">/home/andy
dc240 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 /tmp/zig/lib/std/start.zig:551:2
dc260 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 2</span>:.<span.class="t2_0">0x2
dc280 32 36 34 61 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 264ac.in.std.start.callMain.(tes
dc2a0 74 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 73 73 3d 22 6c 69 t)</span></span>.<span.class="li
dc2c0 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 ne">............root.main();</sp
dc2e0 61 6e 3e 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">.........
dc300 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 33 32 5f 31 22 3e ............<span.class="t32_1">
dc320 5e 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
dc340 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 e"><span.class="t1_0">/home/andy
dc360 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 /tmp/zig/lib/std/start.zig:495:1
dc380 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 2</span>:.<span.class="t2_0">0x2
dc3a0 30 37 30 63 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 070ce.in.std.start.callMainWithA
dc3c0 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 rgs.(test)</span></span>.<span.c
dc3e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 lass="line">....return.@call(.{.
dc400 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 .modifier.=..always_inline.},.ca
dc420 6c 6c 4d 61 69 6e 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 llMain,..{});</span>.<span.class
dc440 3d 22 6c 69 6e 65 22 3e 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="
dc460 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t32_1">^</span></span>.<span.cla
dc480 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f ss="line"><span.class="t1_0">/ho
dc4a0 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 me/andy/tmp/zig/lib/std/start.zi
dc4c0 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 g:409:17</span>:.<span.class="t2
dc4e0 5f 30 22 3e 30 78 32 30 36 31 36 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 _0">0x206166.in.std.start.posixC
dc500 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 allMainAndExit.(test)</span></sp
dc520 61 6e 3e 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 6f an>.<span.class="line">....std.o
dc540 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 s.exit(@call(.{..modifier.=..alw
dc560 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 ays_inline.},.callMainWithArgs,.
dc580 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a .{.argc,.argv,.envp.}));</span>.
dc5a0 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">.............
dc5c0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c ...<span.class="t32_1">^</span><
dc5e0 2f 73 70 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.
dc600 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f class="t1_0">/home/andy/tmp/zig/
dc620 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 lib/std/start.zig:322:5</span>:.
dc640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 37 32 20 69 6e 20 73 <span.class="t2_0">0x205f72.in.s
dc660 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 td.start._start.(test)</span></s
dc680 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c pan>.<span.class="line">....@cal
dc6a0 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d l(.{..modifier.=..never_inline.}
dc6c0 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 ,.posixCallMainAndExit,..{});</s
dc6e0 70 61 6e 3e 0a 3c 73 70 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
dc700 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
dc720 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d <span.class="line">(process.term
dc740 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e inated.by.signal)</span>.</samp>
dc760 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 </pre></figure>..............<h3
dc780 20 69 64 3d 22 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 .id="Division-by-Zero"><a.href="
dc7a0 23 74 6f 63 2d 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 #toc-Division-by-Zero">Division.
dc7c0 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 22 20 68 72 65 66 3d by.Zero</a>.<a.class="hdr".href=
dc7e0 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a "#Division-by-Zero">..</a></h3>.
dc800 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 20 .......<p>At.compile-time:</p>..
dc820 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="
dc840 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
dc860 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
dc880 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
dc8a0 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
dc8c0 61 6e 3e 0a 3c 73 70 61 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
dc8e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 .class="tok-kw">const</span>.a:.
dc900 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
dc920 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 2f >.=.<span.class="tok-number">1</
dc940 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"
dc960 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<
dc980 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>.b:.<span.class="tok-type"
dc9a0 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
dc9c0 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
dc9e0 61 73 73 3d 22 6c 69 6e 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-
dca00 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 2f 20 62 3b 3c 2f 73 70 61 kw">const</span>.c.=.a./.b;</spa
dca20 6e 3e 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 63 3b n>.<span.class="line">...._.=.c;
dca40 3c 2f 73 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
dca60 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
dca80 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
dcaa0 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 3c 73 70 61 hell</figcaption><pre><samp><spa
dcac0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 n.class="line">$.<kbd>zig.test.t
dcae0 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig</kbd></span>.<span.class
dcb00 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 ="line"><span.class="t0_1">./doc
dcb20 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 31 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 gen_tmp/test.zig:4:17:.</span><s
dcb40 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e pan.class="t31_1">error:.</span>
dcb60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 64 69 76 69 73 69 6f 6e 20 62 79 20 7a <span.class="t0_1">division.by.z
dcb80 65 72 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 6c ero</span></span>.<span.class="l
dcba0 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 63 20 3d 20 61 20 2f 20 62 3b 3c 2f 73 70 61 6e 3e ine">....const.c.=.a./.b;</span>
dcbc0 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">............
dcbe0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e ....<span.class="t32_1">^</span>
dcc00 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
dcc20 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 3c 66 .....<p>At.runtime:</p>.......<f
dcc40 69 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
dcc60 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 7a 69 67 3c 2f 63 "><cite.class="file">test.zig</c
dcc80 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
dcca0 6e 20 63 6c 61 73 73 3d 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-
dccc0 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
dcce0 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>(
dcd00 3c 73 70 61 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&
dcd20 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
dcd40 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
dcd60 6e 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
dcd80 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 an>.<span.class="tok-kw">fn</spa
dcda0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 n>.<span.class="tok-fn">main</sp
dcdc0 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 an>().<span.class="tok-type">voi
dcde0 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
dce00 69 6e 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
dce20 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 70 r</span>.a:.<span.class="tok-typ
dce40 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
dce60 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.
dce80 63 6c 61 73 73 3d 22 6c 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
dcea0 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 73 3d k-kw">var</span>.b:.<span.class=
dcec0 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
dcee0 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
dcf00 3e 0a 3c 73 70 61 6e 20 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
dcf20 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 2f lass="tok-kw">var</span>.c.=.a./
dcf40 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">..
dcf60 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 74 ..std.debug.print(<span.class="t
dcf80 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 3c ok-str">&quot;value:.{}\n&quot;<
dcfa0 2f 73 70 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 /span>,..{c});</span>.<span.clas
dcfc0 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></
dcfe0 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
dd000 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><
dd020 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c pre><samp><span.class="line">$.<
dd040 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e kbd>zig.build-exe.test.zig</kbd>
dd060 3c 2f 73 70 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
dd080 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 n>.<span.class="line">$.<kbd>./t
dd0a0 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 est</kbd></span>.<span.class="li
dd0c0 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 36 34 38 36 20 70 61 6e 69 63 3a 20 64 69 76 69 73 69 ne">thread.1446486.panic:.divisi
dd0e0 6f 6e 20 62 79 20 7a 65 72 6f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c on.by.zero</span>.<span.class="l
dd100 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e ine"><span.class="t1_0">/home/an
dd120 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 dy/tmp/zig/docgen_tmp/test.zig:6
dd140 3a 31 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 :15</span>:.<span.class="t2_0">0
dd160 78 32 32 63 64 38 39 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 x22cd89.in.main.(test)</span></s
dd180 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 pan>.<span.class="line">....var.
dd1a0 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 61 73 73 3d 22 6c c.=.a./.b;</span>.<span.class="l
dd1c0 69 6e 65 22 3e 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 ine">..............<span.class="
dd1e0 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t32_1">^</span></span>.<span.cla
dd200 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f ss="line"><span.class="t1_0">/ho
dd220 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 me/andy/tmp/zig/lib/std/start.zi
dd240 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 g:551:22</span>:.<span.class="t2
dd260 5f 30 22 3e 30 78 32 32 36 34 36 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 _0">0x22646c.in.std.start.callMa
dd280 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c in.(test)</span></span>.<span.cl
dd2a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e ass="line">............root.main
dd2c0 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">..
dd2e0 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="
dd300 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t32_1">^</span></span>.<span.cla
dd320 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f ss="line"><span.class="t1_0">/ho
dd340 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 me/andy/tmp/zig/lib/std/start.zi
dd360 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 g:495:12</span>:.<span.class="t2
dd380 5f 30 22 3e 30 78 32 30 37 30 38 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 _0">0x20708e.in.std.start.callMa
dd3a0 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a inWithArgs.(test)</span></span>.
dd3c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 <span.class="line">....return.@c
dd3e0 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e all(.{..modifier.=..always_inlin
dd400 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 e.},.callMain,..{});</span>.<spa
dd420 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 3c 73 70 61 6e 20 n.class="line">...........<span.
dd440 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 class="t32_1">^</span></span>.<s
dd460 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 pan.class="line"><span.class="t1
dd480 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 _0">/home/andy/tmp/zig/lib/std/s
dd4a0 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c tart.zig:409:17</span>:.<span.cl
dd4c0 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 32 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x206126.in.std.start
dd4e0 2e 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 3c 2f 73 70 .posixCallMainAndExit.(test)</sp
dd500 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">..
dd520 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 ..std.os.exit(@call(.{..modifier
dd540 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 .=..always_inline.},.callMainWit
dd560 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c hArgs,..{.argc,.argv,.envp.}));<
dd580 2f 73 70 61 6e 3e 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">......
dd5a0 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c ..........<span.class="t32_1">^<
dd5c0 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"
dd5e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 ><span.class="t1_0">/home/andy/t
dd600 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f mp/zig/lib/std/start.zig:322:5</
dd620 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 span>:.<span.class="t2_0">0x205f
dd640 33 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 32.in.std.start._start.(test)</s
dd660 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">.
dd680 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 ...@call(.{..modifier.=..never_i
dd6a0 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e nline.},.posixCallMainAndExit,..
dd6c0 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">.
dd6e0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c ...<span.class="t32_1">^</span><
dd700 2f 73 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 70 72 6f 63 65 /span>.<span.class="line">(proce
dd720 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a ss.terminated.by.signal)</span>.
dd740 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>..........
dd760 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 2d 62 ....<h3.id="Remainder-Division-b
dd780 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 72 2d y-Zero"><a.href="#toc-Remainder-
dd7a0 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 76 69 Division-by-Zero">Remainder.Divi
dd7c0 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 22 20 sion.by.Zero</a>.<a.class="hdr".
dd7e0 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 72 href="#Remainder-Division-by-Zer
dd800 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 6d 70 o">..</a></h3>........<p>At.comp
dd820 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 69 67 ile-time:</p>.......<figure><fig
dd840 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
dd860 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ass="file">test.zig</cite></figc
dd880 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
dd8a0 69 6e 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
dd8c0 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="
dd8e0 6c 69 6e 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
dd900 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d onst</span>.a:.<span.class="tok-
dd920 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="
dd940 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 6e 3e 0a 3c 73 tok-number">10</span>;</span>.<s
dd960 70 61 6e 20 63 6c 61 73 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
dd980 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 73 70 61 6e 20 ="tok-kw">const</span>.b:.<span.
dd9a0 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
dd9c0 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 3b pan.class="tok-number">0</span>;
dd9e0 3c 2f 73 70 61 6e 3e 0a 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">....<
dda00 73 70 61 6e 20 63 6c 61 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>
dda20 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 6c 61 73 73 3d 22 .c.=.a.%.b;</span>.<span.class="
dda40 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 61 6e 20 63 6c line">...._.=.c;</span>.<span.cl
dda60 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>
dda80 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
ddaa0 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
ddac0 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ><pre><samp><span.class="line">$
ddae0 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 .<kbd>zig.test.test.zig</kbd></s
ddb00 70 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
ddb20 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 ass="t0_1">./docgen_tmp/test.zig
ddb40 3a 34 3a 31 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 :4:17:.</span><span.class="t31_1
ddb60 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 74 30 5f ">error:.</span><span.class="t0_
ddb80 31 22 3e 64 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 1">division.by.zero</span></span
ddba0 3e 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 6f 6e 73 74 20 63 >.<span.class="line">....const.c
ddbc0 20 3d 20 61 20 25 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 .=.a.%.b;</span>.<span.class="li
ddbe0 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=
ddc00 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c "t32_1">^</span></span>.</samp><
ddc20 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 /pre></figure>.......<p>At.runti
ddc40 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f me:</p>.......<figure><figcaptio
ddc60 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
ddc80 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e ile">test.zig</cite></figcaption
ddca0 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"><
ddcc0 73 70 61 6e 20 63 6c 61 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>
ddce0 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"
ddd00 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
ddd20 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>);</
ddd40 73 70 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>
ddd60 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=
ddd80 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=
ddda0 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="
dddc0 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
ddde0 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
dde00 3e 0a 3c 73 70 61 6e 20 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
dde20 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 61 lass="tok-kw">var</span>.a:.<spa
dde40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 n.class="tok-type">u32</span>.=.
dde60 3c 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
dde80 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">..
ddea0 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
ddec0 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 33 32 3c >.b:.<span.class="tok-type">u32<
ddee0 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
ddf00 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 22 ">0</span>;</span>.<span.class="
ddf20 6c 69 6e 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
ddf40 61 72 3c 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 ar</span>.c.=.a.%.b;</span>.<spa
ddf60 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
ddf80 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
ddfa0 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 63 7d 29 3b 3c alue:.{}\n&quot;</span>,..{c});<
ddfc0 2f 73 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
ddfe0 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>
de000 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
de020 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 3c 73 70 61 6e ell</figcaption><pre><samp><span
de040 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 .class="line">$.<kbd>zig.build-e
de060 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 xe.test.zig</kbd></span>.<span.c
de080 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=
de0a0 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e "line">$.<kbd>./test</kbd></span
de0c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 36 >.<span.class="line">thread.1446
de0e0 37 30 30 20 70 61 6e 69 63 3a 20 72 65 6d 61 69 6e 64 65 72 20 64 69 76 69 73 69 6f 6e 20 62 79 700.panic:.remainder.division.by
de100 20 7a 65 72 6f 20 6f 72 20 6e 65 67 61 74 69 76 65 20 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 0a 3c .zero.or.negative.value</span>.<
de120 73 70 61 6e 20 63 6c 61 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
de140 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 1_0">/home/andy/tmp/zig/docgen_t
de160 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 31 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 mp/test.zig:6:15</span>:.<span.c
de180 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 61 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 lass="t2_0">0x22cdab.in.main.(te
de1a0 73 74 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 73 73 3d 22 6c st)</span></span>.<span.class="l
de1c0 69 6e 65 22 3e 20 20 20 20 76 61 72 20 63 20 3d 20 61 20 25 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c ine">....var.c.=.a.%.b;</span>.<
de1e0 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">..............
de200 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
de220 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
de240 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
de260 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 /std/start.zig:551:22</span>:.<s
de280 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 34 36 63 20 69 6e 20 73 74 64 pan.class="t2_0">0x22646c.in.std
de2a0 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 .start.callMain.(test)</span></s
de2c0 70 61 6e 3e 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">........
de2e0 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ....root.main();</span>.<span.cl
de300 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 20 20 ass="line">.....................
de320 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
de340 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
de360 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
de380 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 /std/start.zig:495:12</span>:.<s
de3a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 38 65 20 69 6e 20 73 74 64 pan.class="t2_0">0x20708e.in.std
de3c0 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f .start.callMainWithArgs.(test)</
de3e0 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">
de400 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 ....return.@call(.{..modifier.=.
de420 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 .always_inline.},.callMain,..{})
de440 3b 3c 2f 73 70 61 6e 3e 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">....
de460 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 .......<span.class="t32_1">^</sp
de480 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
de4a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
de4c0 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 zig/lib/std/start.zig:409:17</sp
de4e0 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 32 36 an>:.<span.class="t2_0">0x206126
de500 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 .in.std.start.posixCallMainAndEx
de520 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c it.(test)</span></span>.<span.cl
de540 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c ass="line">....std.os.exit(@call
de560 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d (.{..modifier.=..always_inline.}
de580 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 ,.callMainWithArgs,..{.argc,.arg
de5a0 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d v,.envp.}));</span>.<span.class=
de5c0 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
de5e0 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="t32_1">^</span></span>.<span
de600 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 .class="line"><span.class="t1_0"
de620 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 >/home/andy/tmp/zig/lib/std/star
de640 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d t.zig:322:5</span>:.<span.class=
de660 22 74 32 5f 30 22 3e 30 78 32 30 35 66 33 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 "t2_0">0x205f32.in.std.start._st
de680 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 art.(test)</span></span>.<span.c
de6a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 lass="line">....@call(.{..modifi
de6c0 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d er.=..never_inline.},.posixCallM
de6e0 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ainAndExit,..{});</span>.<span.c
de700 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 lass="line">....<span.class="t32
de720 5f 31 22 3e 5e 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 _1">^</span></span>.<span.class=
de740 22 6c 69 6e 65 22 3e 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 "line">(process.terminated.by.si
de760 67 6e 61 6c 29 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 gnal)</span>.</samp></pre></figu
de780 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 74 2d 44 re>..............<h3.id="Exact-D
de7a0 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ivision-Remainder"><a.href="#toc
de7c0 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 3e 45 78 61 63 74 -Exact-Division-Remainder">Exact
de7e0 20 44 69 76 69 73 69 6f 6e 20 52 65 6d 61 69 6e 64 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 .Division.Remainder</a>.<a.class
de800 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d ="hdr".href="#Exact-Division-Rem
de820 61 69 6e 64 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 ainder">..</a></h3>........<p>At
de840 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
de860 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
de880 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c te.class="file">test.zig</cite><
de8a0 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
de8c0 73 73 3d 22 6c 69 6e 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
de8e0 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 6c omptime</span>.{</span>.<span.cl
de900 61 73 73 3d 22 6c 69 6e 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-
de920 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">const</span>.a:.<span.class=
de940 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
de960 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
de980 6e 3e 0a 3c 73 70 61 6e 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.
de9a0 63 6c 61 73 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:.<
de9c0 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>
de9e0 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 73 .=.<span.class="tok-number">3</s
dea00 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">
dea20 20 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</
dea40 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 6c 74 span>.c.=.<span.class="tok-built
dea60 69 6e 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 3b 3c 2f 73 70 61 in">@divExact</span>(a,.b);</spa
dea80 6e 3e 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 63 3b n>.<span.class="line">...._.=.c;
deaa0 3c 2f 73 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
deac0 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
deae0 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
deb00 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 3c 73 70 61 hell</figcaption><pre><samp><spa
deb20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 n.class="line">$.<kbd>zig.test.t
deb40 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig</kbd></span>.<span.class
deb60 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 ="line"><span.class="t0_1">./doc
deb80 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 gen_tmp/test.zig:4:15:.</span><s
deba0 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e pan.class="t31_1">error:.</span>
debc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 61 63 74 20 64 69 76 69 73 69 6f <span.class="t0_1">exact.divisio
debe0 6e 20 68 61 64 20 61 20 72 65 6d 61 69 6e 64 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.had.a.remainder</span></span>.
dec00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 63 20 3d <span.class="line">....const.c.=
dec20 20 40 64 69 76 45 78 61 63 74 28 61 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .@divExact(a,.b);</span>.<span.c
dec40 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 3c 73 70 61 6e 20 lass="line">..............<span.
dec60 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f class="t32_1">^</span></span>.</
dec80 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 samp></pre></figure>.......<p>At
deca0 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 .runtime:</p>.......<figure><fig
decc0 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
dece0 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ass="file">test.zig</cite></figc
ded00 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
ded20 69 6e 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<
ded40 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
ded60 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
ded80 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
deda0 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"><
dedc0 2f 73 70 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.
dede0 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.
dee00 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
dee20 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 lass="tok-fn">main</span>().<spa
dee40 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>.{
dee60 3c 2f 73 70 61 6e 3e 0a 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">....<
dee80 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 61 span.class="tok-kw">var</span>.a
deea0 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
deec0 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
deee0 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
def00 6e 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
def20 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 65 </span>.b:.<span.class="tok-type
def40 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-
def60 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 63 number">3</span>;</span>.<span.c
def80 6c 61 73 73 3d 22 6c 69 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
defa0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -kw">var</span>.c.=.<span.class=
defc0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 61 "tok-builtin">@divExact</span>(a
defe0 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 65 22 3e ,.b);</span>.<span.class="line">
df000 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=
df020 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
df040 3b 3c 2f 73 70 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 ;</span>,..{c});</span>.<span.cl
df060 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>
df080 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
df0a0 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
df0c0 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ><pre><samp><span.class="line">$
df0e0 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 .<kbd>zig.build-exe.test.zig</kb
df100 64 3e 3c 2f 73 70 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 d></span>.<span.class="line"></s
df120 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e pan>.<span.class="line">$.<kbd>.
df140 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /test</kbd></span>.<span.class="
df160 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 36 38 33 37 20 70 61 6e 69 63 3a 20 65 78 61 63 line">thread.1446837.panic:.exac
df180 74 20 64 69 76 69 73 69 6f 6e 20 70 72 6f 64 75 63 65 64 20 72 65 6d 61 69 6e 64 65 72 3c 2f 73 t.division.produced.remainder</s
df1a0 70 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
df1c0 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f ass="t1_0">/home/andy/tmp/zig/do
df1e0 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 31 33 3c 2f 73 70 61 6e 3e 3a 20 3c cgen_tmp/test.zig:6:13</span>:.<
df200 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 63 64 20 69 6e 20 6d 61 span.class="t2_0">0x22cdcd.in.ma
df220 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c in.(test)</span></span>.<span.cl
df240 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 63 20 3d 20 40 64 69 76 45 78 61 63 74 ass="line">....var.c.=.@divExact
df260 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 65 (a,.b);</span>.<span.class="line
df280 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 33 32 5f 31 ">............<span.class="t32_1
df2a0 22 3e 5e 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 ">^</span></span>.<span.class="l
df2c0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e ine"><span.class="t1_0">/home/an
df2e0 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 dy/tmp/zig/lib/std/start.zig:551
df300 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 :22</span>:.<span.class="t2_0">0
df320 78 32 32 36 34 36 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 x22646c.in.std.start.callMain.(t
df340 65 73 74 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 73 73 3d 22 est)</span></span>.<span.class="
df360 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f line">............root.main();</
df380 73 70 61 6e 3e 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">.......
df3a0 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 33 32 5f 31 ..............<span.class="t32_1
df3c0 22 3e 5e 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 ">^</span></span>.<span.class="l
df3e0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e ine"><span.class="t1_0">/home/an
df400 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 dy/tmp/zig/lib/std/start.zig:495
df420 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 :12</span>:.<span.class="t2_0">0
df440 78 32 30 37 30 38 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 x20708e.in.std.start.callMainWit
df460 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e hArgs.(test)</span></span>.<span
df480 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e .class="line">....return.@call(.
df4a0 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 {..modifier.=..always_inline.},.
df4c0 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 callMain,..{});</span>.<span.cla
df4e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ss="line">...........<span.class
df500 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="t32_1">^</span></span>.<span.c
df520 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f lass="line"><span.class="t1_0">/
df540 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e home/andy/tmp/zig/lib/std/start.
df560 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 zig:409:17</span>:.<span.class="
df580 74 32 5f 30 22 3e 30 78 32 30 36 31 32 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 t2_0">0x206126.in.std.start.posi
df5a0 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f xCallMainAndExit.(test)</span></
df5c0 73 70 61 6e 3e 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 span>.<span.class="line">....std
df5e0 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 .os.exit(@call(.{..modifier.=..a
df600 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 lways_inline.},.callMainWithArgs
df620 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e ,..{.argc,.argv,.envp.}));</span
df640 3e 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">...........
df660 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e .....<span.class="t32_1">^</span
df680 3e 3c 2f 73 70 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
df6a0 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 n.class="t1_0">/home/andy/tmp/zi
df6c0 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e g/lib/std/start.zig:322:5</span>
df6e0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 33 32 20 69 6e :.<span.class="t2_0">0x205f32.in
df700 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c .std.start._start.(test)</span><
df720 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 /span>.<span.class="line">....@c
df740 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 all(.{..modifier.=..never_inline
df760 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c .},.posixCallMainAndExit,..{});<
df780 2f 73 70 61 6e 3e 0a 3c 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
df7a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e pan.class="t32_1">^</span></span
df7c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 >.<span.class="line">(process.te
df7e0 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d rminated.by.signal)</span>.</sam
df800 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>..............<
df820 68 33 20 69 64 3d 22 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e 3c h3.id="Attempt-to-Unwrap-Null"><
df840 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e a.href="#toc-Attempt-to-Unwrap-N
df860 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 6c 3c 2f 61 3e 20 ull">Attempt.to.Unwrap.Null</a>.
df880 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 74 65 6d 70 74 2d 74 6f <a.class="hdr".href="#Attempt-to
df8a0 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 -Unwrap-Null">..</a></h3>.......
df8c0 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 3c .<p>At.compile-time:</p>.......<
df8e0 66 69 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
df900 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 7a 69 67 3c 2f p"><cite.class="file">test.zig</
df920 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
df940 61 6e 20 63 6c 61 73 73 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
df960 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
df980 70 61 6e 20 63 6c 61 73 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
df9a0 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 6f 6e 61 6c 5f ="tok-kw">const</span>.optional_
df9c0 6e 75 6d 62 65 72 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e number:.?<span.class="tok-type">
df9e0 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 i32</span>.=.<span.class="tok-nu
dfa00 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
dfa20 61 73 73 3d 22 6c 69 6e 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-
dfa40 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 20 6f 70 74 69 6f 6e kw">const</span>.number.=.option
dfa60 61 6c 5f 6e 75 6d 62 65 72 2e 3f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d al_number.?;</span>.<span.class=
dfa80 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 73 "line">...._.=.number;</span>.<s
dfaa0 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>
dfac0 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
dfae0 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
dfb00 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><samp><span.class="l
dfb20 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b ine">$.<kbd>zig.test.test.zig</k
dfb40 62 64 3e 3c 2f 73 70 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 bd></span>.<span.class="line"><s
dfb60 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 pan.class="t0_1">./docgen_tmp/te
dfb80 73 74 2e 7a 69 67 3a 33 3a 33 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig:3:35:.</span><span.class=
dfba0 22 74 33 31 5f 31 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 "t31_1">error:.</span><span.clas
dfbc0 73 3d 22 74 30 5f 31 22 3e 75 6e 61 62 6c 65 20 74 6f 20 75 6e 77 72 61 70 20 6e 75 6c 6c 3c 2f s="t0_1">unable.to.unwrap.null</
dfbe0 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">
dfc00 20 20 20 20 63 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 ....const.number.=.optional_numb
dfc20 65 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 er.?;</span>.<span.class="line">
dfc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
dfc60 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f ..<span.class="t32_1">^</span></
dfc80 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>....
dfca0 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
dfcc0 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">
dfce0 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 <cite.class="file">test.zig</cit
dfd00 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.
dfd20 63 6c 61 73 73 3d 22 6c 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
dfd40 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
dfd60 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
dfd80 70 61 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
dfda0 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=
dfdc0 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
dfde0 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
dfe00 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>
dfe20 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
dfe40 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<
dfe60 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
dfe80 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<
dfea0 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 63 /span>.optional_number:.?<span.c
dfec0 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
dfee0 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>;
dff00 3c 2f 73 70 61 6e 3e 0a 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">....<
dff20 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 6e span.class="tok-kw">var</span>.n
dff40 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 70 61 6e umber.=.optional_number.?;</span
dff60 3e 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 >.<span.class="line">....std.deb
dff80 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 74 72 22 3e 26 ug.print(<span.class="tok-str">&
dffa0 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 6e 3e 2c 20 2e quot;value:.{}\n&quot;</span>,..
dffc0 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 6c 61 73 73 3d 22 6c {number});</span>.<span.class="l
dffe0 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
e0000 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
e0020 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>
e0040 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e <samp><span.class="line">$.<kbd>
e0060 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 zig.build-exe.test.zig</kbd></sp
e0080 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>.<
e00a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c span.class="line">$.<kbd>./test<
e00c0 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e /kbd></span>.<span.class="line">
e00e0 74 68 72 65 61 64 20 31 34 34 37 30 33 37 20 70 61 6e 69 63 3a 20 61 74 74 65 6d 70 74 20 74 6f thread.1447037.panic:.attempt.to
e0100 20 75 73 65 20 6e 75 6c 6c 20 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .use.null.value</span>.<span.cla
e0120 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f ss="line"><span.class="t1_0">/ho
e0140 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e me/andy/tmp/zig/docgen_tmp/test.
e0160 7a 69 67 3a 35 3a 33 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 zig:5:33</span>:.<span.class="t2
e0180 5f 30 22 3e 30 78 32 32 63 65 33 63 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 _0">0x22ce3c.in.main.(test)</spa
e01a0 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">...
e01c0 20 76 61 72 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 .var.number.=.optional_number.?;
e01e0 3c 2f 73 70 61 6e 3e 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">.....
e0200 20 20 20 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
e0220 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
e0240 73 70 61 6e 20 63 6c 61 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
e0260 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
e0280 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:551:22</span>:.<span.c
e02a0 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 35 32 63 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x22652c.in.std.star
e02c0 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a t.callMain.(test)</span></span>.
e02e0 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
e0300 6f 6f 74 2e 6d 61 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 22 oot.main();</span>.<span.class="
e0320 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 3c 73 70 61 6e line">.....................<span
e0340 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
e0360 73 70 61 6e 20 63 6c 61 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
e0380 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
e03a0 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:495:12</span>:.<span.c
e03c0 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 31 34 65 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x20714e.in.std.star
e03e0 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e t.callMainWithArgs.(test)</span>
e0400 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 </span>.<span.class="line">....r
e0420 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 eturn.@call(.{..modifier.=..alwa
e0440 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 ys_inline.},.callMain,..{});</sp
e0460 61 6e 3e 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">.........
e0480 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f ..<span.class="t32_1">^</span></
e04a0 73 70 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
e04c0 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c lass="t1_0">/home/andy/tmp/zig/l
e04e0 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 ib/std/start.zig:409:17</span>:.
e0500 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 65 36 20 69 6e 20 73 <span.class="t2_0">0x2061e6.in.s
e0520 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 td.start.posixCallMainAndExit.(t
e0540 65 73 74 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 73 73 3d 22 est)</span></span>.<span.class="
e0560 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e line">....std.os.exit(@call(.{..
e0580 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c modifier.=..always_inline.},.cal
e05a0 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e lMainWithArgs,..{.argc,.argv,.en
e05c0 76 70 20 7d 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 vp.}));</span>.<span.class="line
e05e0 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
e0600 33 32 5f 31 22 3e 5e 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 32_1">^</span></span>.<span.clas
e0620 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d s="line"><span.class="t1_0">/hom
e0640 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 e/andy/tmp/zig/lib/std/start.zig
e0660 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 :322:5</span>:.<span.class="t2_0
e0680 22 3e 30 78 32 30 35 66 66 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 ">0x205ff2.in.std.start._start.(
e06a0 74 65 73 74 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 73 73 3d test)</span></span>.<span.class=
e06c0 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 "line">....@call(.{..modifier.=.
e06e0 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e .never_inline.},.posixCallMainAn
e0700 64 45 78 69 74 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 dExit,..{});</span>.<span.class=
e0720 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e "line">....<span.class="t32_1">^
e0740 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
e0760 22 3e 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 ">(process.terminated.by.signal)
e0780 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
e07a0 20 20 20 20 20 3c 70 3e 4f 6e 65 20 77 61 79 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 72 .....<p>One.way.to.avoid.this.cr
e07c0 61 73 68 20 69 73 20 74 6f 20 74 65 73 74 20 66 6f 72 20 6e 75 6c 6c 20 69 6e 73 74 65 61 64 20 ash.is.to.test.for.null.instead.
e07e0 6f 66 20 61 73 73 75 6d 69 6e 67 20 6e 6f 6e 2d 6e 75 6c 6c 2c 20 77 69 74 68 0a 20 20 20 20 20 of.assuming.non-null,.with......
e0800 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 73 .the.<code><span.class="line"><s
e0820 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 pan.class="tok-kw">if</span></sp
e0840 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 an></code>.expression:</p>......
e0860 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-
e0880 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 cap"><cite.class="file">test.zig
e08a0 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><
e08c0 73 70 61 6e 20 63 6c 61 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
e08e0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 ok-kw">const</span>.print.=.<spa
e0900 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
e0920 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
e0940 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 3c ;std&quot;</span>).debug.print;<
e0960 2f 73 70 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.
e0980 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.
e09a0 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
e09c0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 lass="tok-fn">main</span>().<spa
e09e0 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>.{
e0a00 3c 2f 73 70 61 6e 3e 0a 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">....<
e0a20 73 70 61 6e 20 63 6c 61 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>
e0a40 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 22 .optional_number:.?<span.class="
e0a60 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
e0a80 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 6e ss="tok-null">null</span>;</span
e0aa0 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
e0ac0 61 6e 20 63 6c 61 73 73 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=
e0ae0 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 6d "tok-kw">if</span>.(optional_num
e0b00 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 61 ber).|number|.{</span>.<span.cla
e0b20 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 6c ss="line">........print(<span.cl
e0b40 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 20 ass="tok-str">&quot;got.number:.
e0b60 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 2f {}\n&quot;</span>,..{number});</
e0b80 73 70 61 6e 3e 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">....}.<
e0ba0 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>.
e0bc0 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">....
e0be0 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">
e0c00 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 20 &quot;it's.null\n&quot;</span>,.
e0c20 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 3e .{});</span>.<span.class="line">
e0c40 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">
e0c60 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
e0c80 69 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
e0ca0 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
e0cc0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 ><span.class="line">$.<kbd>zig.b
e0ce0 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c uild-exe.test.zig</kbd></span>.<
e0d00 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.
e0d20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e class="line">$.<kbd>./test</kbd>
e0d40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 69 74 27 73 20 </span>.<span.class="line">it's.
e0d60 6e 75 6c 6c 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 null</span>.</samp></pre></figur
e0d80 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
e0da0 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
e0dc0 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
e0de0 33 20 69 64 3d 22 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 3c 3.id="Attempt-to-Unwrap-Error"><
e0e00 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 a.href="#toc-Attempt-to-Unwrap-E
e0e20 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 72 3c 2f 61 rror">Attempt.to.Unwrap.Error</a
e0e40 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 74 65 6d 70 74 2d >.<a.class="hdr".href="#Attempt-
e0e60 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 to-Unwrap-Error">..</a></h3>....
e0e80 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 20 20 ....<p>At.compile-time:</p>.....
e0ea0 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
e0ec0 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 -cap"><cite.class="file">test.zi
e0ee0 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>
e0f00 3c 73 70 61 6e 20 63 6c 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="
e0f20 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 3e tok-kw">comptime</span>.{</span>
e0f40 0a 3c 73 70 61 6e 20 63 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
e0f60 61 73 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
e0f80 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 63 6c 61 73 73 .=.getNumberOrFail().<span.class
e0fa0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ="tok-kw">catch</span>.<span.cla
e0fc0 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>;<
e0fe0 2f 73 70 61 6e 3e 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">...._.
e1000 3d 20 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 =.number;</span>.<span.class="li
e1020 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">
e1040 3c 2f 73 70 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
e1060 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.
e1080 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 3c 2f class="tok-fn">getNumberOrFail</
e10a0 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 3e span>().!<span.class="tok-type">
e10c0 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 73 73 3d i32</span>.{</span>.<span.class=
e10e0 22 6c 69 6e 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">
e1100 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
e1120 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 w">error</span>.UnableToReturnNu
e1140 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 22 3e mber;</span>.<span.class="line">
e1160 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
e1180 69 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
e11a0 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
e11c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 ><span.class="line">$.<kbd>zig.t
e11e0 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 est.test.zig</kbd></span>.<span.
e1200 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e class="line"><span.class="t0_1">
e1220 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 33 38 3a 20 3c 2f 73 70 ./docgen_tmp/test.zig:2:38:.</sp
e1240 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f an><span.class="t31_1">error:.</
e1260 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 75 67 68 74 20 75 span><span.class="t0_1">caught.u
e1280 6e 65 78 70 65 63 74 65 64 20 65 72 72 6f 72 20 27 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e nexpected.error.'UnableToReturnN
e12a0 75 6d 62 65 72 27 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 umber'</span></span>.<span.class
e12c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 ="line">....const.number.=.getNu
e12e0 6d 62 65 72 4f 72 46 61 69 6c 28 29 20 63 61 74 63 68 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 3c mberOrFail().catch.unreachable;<
e1300 2f 73 70 61 6e 3e 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">......
e1320 20 20 20 20 20 20 20 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 ...............................<
e1340 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 span.class="t32_1">^</span></spa
e1360 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>.......
e1380 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 65 <p>At.runtime:</p>.......<figure
e13a0 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
e13c0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c te.class="file">test.zig</cite><
e13e0 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
e1400 73 73 3d 22 6c 69 6e 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
e1420 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
e1440 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
e1460 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;
e1480 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
e14a0 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"><
e14c0 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>.<
e14e0 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
e1500 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>()
e1520 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
e1540 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">
e1560 20 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</
e1580 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 28 29 span>.number.=.getNumberOrFail()
e15a0 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 61 .<span.class="tok-kw">catch</spa
e15c0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 n>.<span.class="tok-kw">unreacha
e15e0 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="
e1600 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 61 6e 20 line">....std.debug.print(<span.
e1620 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c class="tok-str">&quot;value:.{}\
e1640 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 2f 73 70 61 n&quot;</span>,..{number});</spa
e1660 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>.<
e1680 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.
e16a0 63 6c 61 73 73 3d 22 6c 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
e16c0 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"
e16e0 3e 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e >getNumberOrFail</span>().!<span
e1700 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>.{</
e1720 73 70 61 6e 3e 0a 3c 73 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
e1740 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>.
e1760 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
e1780 3e 2e 55 6e 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 >.UnableToReturnNumber;</span>.<
e17a0 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
e17c0 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
e17e0 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
e1800 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 caption><pre><samp><span.class="
e1820 6c 69 6e 65 22 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 2e line">$.<kbd>zig.build-exe.test.
e1840 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 zig</kbd></span>.<span.class="li
e1860 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 24 ne"></span>.<span.class="line">$
e1880 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .<kbd>./test</kbd></span>.<span.
e18a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 37 33 30 37 20 70 61 6e 69 class="line">thread.1447307.pani
e18c0 63 3a 20 61 74 74 65 6d 70 74 20 74 6f 20 75 6e 77 72 61 70 20 65 72 72 6f 72 3a 20 55 6e 61 62 c:.attempt.to.unwrap.error:.Unab
e18e0 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c leToReturnNumber</span>.<span.cl
e1900 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 ass="line"><span.class="t1_0">/h
e1920 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 ome/andy/tmp/zig/docgen_tmp/test
e1940 2e 7a 69 67 3a 39 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 .zig:9:5</span>:.<span.class="t2
e1960 5f 30 22 3e 30 78 32 33 34 30 64 34 20 69 6e 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 20 _0">0x2340d4.in.getNumberOrFail.
e1980 28 74 65 73 74 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 73 73 (test)</span></span>.<span.class
e19a0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 55 6e 61 62 6c 65 54 ="line">....return.error.UnableT
e19c0 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 73 oReturnNumber;</span>.<span.clas
e19e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 s="line">....<span.class="t32_1"
e1a00 3e 5e 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
e1a20 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 3f 3f 3f 3a 3f 3a 3f 3c 2f ne"><span.class="t1_0">???:?:?</
e1a40 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 64 39 span>:.<span.class="t2_0">0x20d9
e1a60 30 32 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 02.in.???.(???)</span></span>.<s
e1a80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 pan.class="line"><span.class="t1
e1aa0 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d _0">/home/andy/tmp/zig/docgen_tm
e1ac0 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 33 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c p/test.zig:4:38</span>:.<span.cl
e1ae0 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 65 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 ass="t2_0">0x22cdeb.in.main.(tes
e1b00 74 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 73 73 3d 22 6c 69 t)</span></span>.<span.class="li
e1b20 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 ne">....const.number.=.getNumber
e1b40 4f 72 46 61 69 6c 28 29 20 63 61 74 63 68 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 3c 2f 73 70 61 OrFail().catch.unreachable;</spa
e1b60 6e 3e 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">..........
e1b80 20 20 20 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
e1ba0 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
e1bc0 73 70 61 6e 20 63 6c 61 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
e1be0 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
e1c00 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:551:22</span>:.<span.c
e1c20 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 34 39 63 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x22649c.in.std.star
e1c40 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a t.callMain.(test)</span></span>.
e1c60 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
e1c80 6f 6f 74 2e 6d 61 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 22 oot.main();</span>.<span.class="
e1ca0 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 3c 73 70 61 6e line">.....................<span
e1cc0 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
e1ce0 73 70 61 6e 20 63 6c 61 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
e1d00 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
e1d20 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:495:12</span>:.<span.c
e1d40 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 62 65 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x2070be.in.std.star
e1d60 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e t.callMainWithArgs.(test)</span>
e1d80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 </span>.<span.class="line">....r
e1da0 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 eturn.@call(.{..modifier.=..alwa
e1dc0 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 ys_inline.},.callMain,..{});</sp
e1de0 61 6e 3e 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">.........
e1e00 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f ..<span.class="t32_1">^</span></
e1e20 73 70 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
e1e40 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c lass="t1_0">/home/andy/tmp/zig/l
e1e60 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 ib/std/start.zig:409:17</span>:.
e1e80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 35 36 20 69 6e 20 73 <span.class="t2_0">0x206156.in.s
e1ea0 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 td.start.posixCallMainAndExit.(t
e1ec0 65 73 74 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 73 73 3d 22 est)</span></span>.<span.class="
e1ee0 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e line">....std.os.exit(@call(.{..
e1f00 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c modifier.=..always_inline.},.cal
e1f20 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e lMainWithArgs,..{.argc,.argv,.en
e1f40 76 70 20 7d 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 vp.}));</span>.<span.class="line
e1f60 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
e1f80 33 32 5f 31 22 3e 5e 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 32_1">^</span></span>.<span.clas
e1fa0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d s="line"><span.class="t1_0">/hom
e1fc0 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 e/andy/tmp/zig/lib/std/start.zig
e1fe0 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 :322:5</span>:.<span.class="t2_0
e2000 22 3e 30 78 32 30 35 66 36 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 ">0x205f62.in.std.start._start.(
e2020 74 65 73 74 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 73 73 3d test)</span></span>.<span.class=
e2040 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 "line">....@call(.{..modifier.=.
e2060 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e .never_inline.},.posixCallMainAn
e2080 64 45 78 69 74 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 dExit,..{});</span>.<span.class=
e20a0 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e "line">....<span.class="t32_1">^
e20c0 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
e20e0 22 3e 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 ">(process.terminated.by.signal)
e2100 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 </span>.</samp></pre></figure>..
e2120 20 20 20 20 20 3c 70 3e 4f 6e 65 20 77 61 79 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 72 .....<p>One.way.to.avoid.this.cr
e2140 61 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 ash.is.to.test.for.an.error.inst
e2160 65 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 ead.of.assuming.a.successful.res
e2180 75 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 ult,.with.......the.<code><span.
e21a0 63 6c 61 73 73 3d 22 6c 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
e21c0 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
e21e0 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 70 74 sion:</p>.......<figure><figcapt
e2200 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=
e2220 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 "file">test.zig</cite></figcapti
e2240 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"
e2260 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
e2280 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 69 6c n>.print.=.<span.class="tok-buil
e22a0 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=
e22c0 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>
e22e0 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 61 73 ).debug.print;</span>.<span.clas
e2300 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
e2320 6e 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
e2340 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 an>.<span.class="tok-kw">fn</spa
e2360 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 n>.<span.class="tok-fn">main</sp
e2380 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 an>().<span.class="tok-type">voi
e23a0 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
e23c0 69 6e 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
e23e0 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 nst</span>.result.=.getNumberOrF
e2400 61 69 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 ail();</span>.<span.class="line"
e2420 3e 3c 2f 73 70 61 6e 3e 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">....
e2440 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>.(
e2460 72 65 73 75 6c 74 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 result).|number|.{</span>.<span.
e2480 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 3c 73 70 61 6e class="line">........print(<span
e24a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6f 74 20 6e 75 6d 62 65 .class="tok-str">&quot;got.numbe
e24c0 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 r:.{}\n&quot;</span>,..{number})
e24e0 3b 3c 2f 73 70 61 6e 3e 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">....
e2500 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
e2520 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 22 6c n>.|err|.{</span>.<span.class="l
e2540 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 3d 22 ine">........print(<span.class="
e2560 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6f 74 20 65 72 72 6f 72 3a 20 7b 73 7d 5c 6e 26 tok-str">&quot;got.error:.{s}\n&
e2580 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b quot;</span>,..{<span.class="tok
e25a0 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 29 -builtin">@errorName</span>(err)
e25c0 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 20 });</span>.<span.class="line">..
e25e0 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">}<
e2600 2f 73 70 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
e2620 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
e2640 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=
e2660 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 3c 2f 73 70 61 6e 3e 28 "tok-fn">getNumberOrFail</span>(
e2680 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 69 33 32 3c 2f 73 ).!<span.class="tok-type">i32</s
e26a0 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"
e26c0 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 6e >....<span.class="tok-kw">return
e26e0 3c 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
e2700 6f 72 3c 2f 73 70 61 6e 3e 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 3c or</span>.UnableToReturnNumber;<
e2720 2f 73 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
e2740 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>
e2760 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
e2780 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 3c 73 70 61 6e ell</figcaption><pre><samp><span
e27a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 .class="line">$.<kbd>zig.build-e
e27c0 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 xe.test.zig</kbd></span>.<span.c
e27e0 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=
e2800 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e "line">$.<kbd>./test</kbd></span
e2820 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 67 6f 74 20 65 72 72 6f 72 3a 20 >.<span.class="line">got.error:.
e2840 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 UnableToReturnNumber</span>.</sa
e2860 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.
e2880 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 72 72 6f also:</p><ul>.<li><a.href="#Erro
e28a0 72 73 22 3e 45 72 72 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 rs">Errors</a></li>.</ul>.......
e28c0 20 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 43 6f ........<h3.id="Invalid-Error-Co
e28e0 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d de"><a.href="#toc-Invalid-Error-
e2900 43 6f 64 65 22 3e 49 6e 76 61 6c 69 64 20 45 72 72 6f 72 20 43 6f 64 65 3c 2f 61 3e 20 3c 61 20 Code">Invalid.Error.Code</a>.<a.
e2920 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 class="hdr".href="#Invalid-Error
e2940 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 74 20 -Code">..</a></h3>........<p>At.
e2960 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 3e compile-time:</p>.......<figure>
e2980 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
e29a0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f e.class="file">test.zig</cite></
e29c0 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
e29e0 73 3d 22 6c 69 6e 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
e2a00 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
e2a20 73 73 3d 22 6c 69 6e 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
e2a40 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 w">const</span>.err.=.<span.clas
e2a60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 6e 45 72 72 6f 72 3b s="tok-kw">error</span>.AnError;
e2a80 3c 2f 73 70 61 6e 3e 0a 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">....<
e2aa0 73 70 61 6e 20 63 6c 61 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>
e2ac0 20 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 .number.=.<span.class="tok-built
e2ae0 69 6e 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 65 72 72 29 20 2b 20 3c 73 in">@errorToInt</span>(err).+.<s
e2b00 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>
e2b20 3b 3c 2f 73 70 61 6e 3e 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">....
e2b40 3c 73 70 61 6e 20 63 6c 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
e2b60 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 73 73 3d 22 74 6f 6b >.invalid_err.=.<span.class="tok
e2b80 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 6e 75 6d -builtin">@intToError</span>(num
e2ba0 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 22 3e ber);</span>.<span.class="line">
e2bc0 20 20 20 20 5f 20 3d 20 69 6e 76 61 6c 69 64 5f 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ...._.=.invalid_err;</span>.<spa
e2be0 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></
e2c00 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
e2c20 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
e2c40 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
e2c60 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 e">$.<kbd>zig.test.test.zig</kbd
e2c80 3e 3c 2f 73 70 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
e2ca0 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 n.class="t0_1">./docgen_tmp/test
e2cc0 2e 7a 69 67 3a 34 3a 32 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .zig:4:25:.</span><span.class="t
e2ce0 33 31 5f 31 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 31_1">error:.</span><span.class=
e2d00 22 74 30 5f 31 22 3e 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 31 31 20 72 65 70 72 65 73 65 6e "t0_1">integer.value.11.represen
e2d20 74 73 20 6e 6f 20 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ts.no.error</span></span>.<span.
e2d40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 69 6e 76 61 6c 69 64 5f 65 class="line">....const.invalid_e
e2d60 72 72 20 3d 20 40 69 6e 74 54 6f 45 72 72 6f 72 28 6e 75 6d 62 65 72 29 3b 3c 2f 73 70 61 6e 3e rr.=.@intToError(number);</span>
e2d80 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">............
e2da0 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 33 32 5f 31 22 3e ............<span.class="t32_1">
e2dc0 5e 3c 2f 73 70 61 6e 3e 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></span>.</samp></pre></f
e2de0 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 0a igure>.......<p>At.runtime:</p>.
e2e00 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=
e2e20 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
e2e40 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
e2e60 6f 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
e2e80 73 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.=.<
e2ea0 73 70 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
e2ec0 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
e2ee0 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
e2f00 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
e2f20 6c 61 73 73 3d 22 6c 69 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"
e2f40 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"
e2f60 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">
e2f80 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
e2fa0 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.
e2fc0 63 6c 61 73 73 3d 22 6c 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
e2fe0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 k-kw">var</span>.err.=.<span.cla
e3000 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 6e 45 72 72 6f 72 ss="tok-kw">error</span>.AnError
e3020 3b 3c 2f 73 70 61 6e 3e 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">....
e3040 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>.
e3060 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 number.=.<span.class="tok-builti
e3080 6e 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 65 72 72 29 20 2b 20 3c 73 70 n">@errorToInt</span>(err).+.<sp
e30a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 30 30 3c 2f 73 70 61 6e 3e an.class="tok-number">500</span>
e30c0 3b 3c 2f 73 70 61 6e 3e 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">....
e30e0 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>.
e3100 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 invalid_err.=.<span.class="tok-b
e3120 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 uiltin">@intToError</span>(numbe
e3140 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 20 r);</span>.<span.class="line">..
e3160 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 74 ..std.debug.print(<span.class="t
e3180 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 3c ok-str">&quot;value:.{}\n&quot;<
e31a0 2f 73 70 61 6e 3e 2c 20 2e 7b 69 6e 76 61 6c 69 64 5f 65 72 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a /span>,..{invalid_err});</span>.
e31c0 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
e31e0 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
e3200 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
e3220 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d gcaption><pre><samp><span.class=
e3240 22 6c 69 6e 65 22 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 "line">$.<kbd>zig.build-exe.test
e3260 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .zig</kbd></span>.<span.class="l
e3280 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">
e32a0 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e $.<kbd>./test</kbd></span>.<span
e32c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 37 35 39 37 20 70 61 6e .class="line">thread.1447597.pan
e32e0 69 63 3a 20 69 6e 76 61 6c 69 64 20 65 72 72 6f 72 20 63 6f 64 65 3c 2f 73 70 61 6e 3e 0a 3c 73 ic:.invalid.error.code</span>.<s
e3300 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 pan.class="line"><span.class="t1
e3320 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d _0">/home/andy/tmp/zig/docgen_tm
e3340 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 32 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c p/test.zig:6:23</span>:.<span.cl
e3360 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 65 31 33 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 ass="t2_0">0x22ce13.in.main.(tes
e3380 74 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 73 73 3d 22 6c 69 t)</span></span>.<span.class="li
e33a0 6e 65 22 3e 20 20 20 20 76 61 72 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 40 69 6e 74 54 6f ne">....var.invalid_err.=.@intTo
e33c0 45 72 72 6f 72 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 Error(number);</span>.<span.clas
e33e0 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 3c s="line">......................<
e3400 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 span.class="t32_1">^</span></spa
e3420 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
e3440 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f s="t1_0">/home/andy/tmp/zig/lib/
e3460 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 std/start.zig:551:22</span>:.<sp
e3480 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 34 63 63 20 69 6e 20 73 74 64 2e an.class="t2_0">0x2264cc.in.std.
e34a0 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 start.callMain.(test)</span></sp
e34c0 61 6e 3e 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">.........
e34e0 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ...root.main();</span>.<span.cla
e3500 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 3c ss="line">.....................<
e3520 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 span.class="t32_1">^</span></spa
e3540 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
e3560 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f s="t1_0">/home/andy/tmp/zig/lib/
e3580 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 std/start.zig:495:12</span>:.<sp
e35a0 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 65 65 20 69 6e 20 73 74 64 2e an.class="t2_0">0x2070ee.in.std.
e35c0 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 start.callMainWithArgs.(test)</s
e35e0 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">.
e3600 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e ...return.@call(.{..modifier.=..
e3620 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b always_inline.},.callMain,..{});
e3640 3c 2f 73 70 61 6e 3e 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">.....
e3660 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 ......<span.class="t32_1">^</spa
e3680 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
e36a0 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
e36c0 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 ig/lib/std/start.zig:409:17</spa
e36e0 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 38 36 20 n>:.<span.class="t2_0">0x206186.
e3700 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 in.std.start.posixCallMainAndExi
e3720 74 20 28 74 65 73 74 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 t.(test)</span></span>.<span.cla
e3740 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 ss="line">....std.os.exit(@call(
e3760 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c .{..modifier.=..always_inline.},
e3780 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 .callMainWithArgs,..{.argc,.argv
e37a0 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ,.envp.}));</span>.<span.class="
e37c0 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 73 line">................<span.clas
e37e0 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="t32_1">^</span></span>.<span.
e3800 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e class="line"><span.class="t1_0">
e3820 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 /home/andy/tmp/zig/lib/std/start
e3840 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .zig:322:5</span>:.<span.class="
e3860 74 32 5f 30 22 3e 30 78 32 30 35 66 39 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 t2_0">0x205f92.in.std.start._sta
e3880 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c rt.(test)</span></span>.<span.cl
e38a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 ass="line">....@call(.{..modifie
e38c0 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 r.=..never_inline.},.posixCallMa
e38e0 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c inAndExit,..{});</span>.<span.cl
e3900 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f ass="line">....<span.class="t32_
e3920 31 22 3e 5e 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="
e3940 6c 69 6e 65 22 3e 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 line">(process.terminated.by.sig
e3960 6e 61 6c 29 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 nal)</span>.</samp></pre></figur
e3980 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 76 61 6c 69 64 2d e>..............<h3.id="Invalid-
e39a0 45 6e 75 6d 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 Enum-Cast"><a.href="#toc-Invalid
e39c0 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 3c 2f 61 -Enum-Cast">Invalid.Enum.Cast</a
e39e0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 76 61 6c 69 64 2d >.<a.class="hdr".href="#Invalid-
e3a00 45 6e 75 6d 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 Enum-Cast">..</a></h3>........<p
e3a20 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 67 >At.compile-time:</p>.......<fig
e3a40 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">
e3a60 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 <cite.class="file">test.zig</cit
e3a80 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.
e3aa0 63 6c 61 73 73 3d 22 6c 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
e3ac0 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 73 73 ">const</span>.Foo.=.<span.class
e3ae0 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>.<
e3b00 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 73 70 61 6e 3e 0a span.class="line">....a,</span>.
e3b20 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 2f 73 70 61 6e 3e <span.class="line">....b,</span>
e3b40 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 3c 2f 73 70 61 6e .<span.class="line">....c,</span
e3b60 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 3c >.<span.class="line">};</span>.<
e3b80 73 70 61 6e 20 63 6c 61 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
e3ba0 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>.
e3bc0 3c 73 70 61 6e 20 63 6c 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
e3be0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 ss="tok-kw">const</span>.a:.<spa
e3c00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c n.class="tok-type">u2</span>.=.<
e3c20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e span.class="tok-number">3</span>
e3c40 3b 3c 2f 73 70 61 6e 3e 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">....
e3c60 3c 73 70 61 6e 20 63 6c 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
e3c80 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e >.b.=.<span.class="tok-builtin">
e3ca0 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 61 29 3b 3c 2f 73 70 61 6e @intToEnum</span>(Foo,.a);</span
e3cc0 3e 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;<
e3ce0 2f 73 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
e3d00 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>
e3d20 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
e3d40 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 3c 73 70 61 6e ell</figcaption><pre><samp><span
e3d60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 .class="line">$.<kbd>zig.test.te
e3d80 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig</kbd></span>.<span.class=
e3da0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 "line"><span.class="t0_1">./docg
e3dc0 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 38 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 en_tmp/test.zig:8:15:.</span><sp
e3de0 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c an.class="t31_1">error:.</span><
e3e00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 6e 75 6d 20 27 46 6f 6f 27 20 68 61 73 span.class="t0_1">enum.'Foo'.has
e3e20 20 6e 6f 20 74 61 67 20 6d 61 74 63 68 69 6e 67 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 33 .no.tag.matching.integer.value.3
e3e40 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
e3e60 22 3e 20 20 20 20 63 6f 6e 73 74 20 62 20 3d 20 40 69 6e 74 54 6f 45 6e 75 6d 28 46 6f 6f 2c 20 ">....const.b.=.@intToEnum(Foo,.
e3e80 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 20 a);</span>.<span.class="line">..
e3ea0 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 33 32 5f 31 22 3e ............<span.class="t32_1">
e3ec0 5e 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
e3ee0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 e"><span.class="t0_1">./docgen_t
e3f00 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 mp/test.zig:1:13:.</span><span.c
e3f20 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 lass="t36_1">note:.</span><span.
e3f40 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 27 46 6f 6f 27 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 class="t0_1">'Foo'.declared.here
e3f60 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
e3f80 22 3e 63 6f 6e 73 74 20 46 6f 6f 20 3d 20 65 6e 75 6d 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ">const.Foo.=.enum.{</span>.<spa
e3fa0 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 70 61 6e n.class="line">............<span
e3fc0 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .class="t32_1">^</span></span>.<
e3fe0 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 /samp></pre></figure>.......<p>A
e4000 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 t.runtime:</p>.......<figure><fi
e4020 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
e4040 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 lass="file">test.zig</cite></fig
e4060 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="
e4080 6c 69 6e 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
e40a0 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
e40c0 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
e40e0 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
e4100 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">
e4120 3c 2f 73 70 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
e4140 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f .class="tok-kw">const</span>.Foo
e4160 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
e4180 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">
e41a0 20 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 ....a,</span>.<span.class="line"
e41c0 3e 20 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 >....b,</span>.<span.class="line
e41e0 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 6c 69 6e ">....c,</span>.<span.class="lin
e4200 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">
e4220 3c 2f 73 70 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
e4240 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
e4260 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.
e4280 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
e42a0 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>.
e42c0 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">....
e42e0 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>.
e4300 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 32 3c 2f 73 70 a:.<span.class="tok-type">u2</sp
e4320 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 33 an>.=.<span.class="tok-number">3
e4340 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
e4360 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<
e4380 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
e43a0 74 69 6e 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 61 29 3b 3c tin">@intToEnum</span>(Foo,.a);<
e43c0 2f 73 70 61 6e 3e 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
e43e0 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
e4400 74 72 22 3e 26 71 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 tr">&quot;value:.{s}\n&quot;</sp
e4420 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"
e4440 3e 40 74 61 67 4e 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 >@tagName</span>(b)});</span>.<s
e4460 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>
e4480 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
e44a0 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
e44c0 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c aption><pre><samp><span.class="l
e44e0 69 6e 65 22 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 2e 7a ine">$.<kbd>zig.build-exe.test.z
e4500 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ig</kbd></span>.<span.class="lin
e4520 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 24 20 e"></span>.<span.class="line">$.
e4540 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 <kbd>./test</kbd></span>.<span.c
e4560 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 37 38 32 33 20 70 61 6e 69 63 lass="line">thread.1447823.panic
e4580 3a 20 69 6e 76 61 6c 69 64 20 65 6e 75 6d 20 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 :.invalid.enum.value</span>.<spa
e45a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 n.class="line"><span.class="t1_0
e45c0 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f ">/home/andy/tmp/zig/docgen_tmp/
e45e0 74 65 73 74 2e 7a 69 67 3a 31 31 3a 31 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 test.zig:11:13</span>:.<span.cla
e4600 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 64 39 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 ss="t2_0">0x22cdd9.in.main.(test
e4620 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 73 73 3d 22 6c 69 6e )</span></span>.<span.class="lin
e4640 65 22 3e 20 20 20 20 76 61 72 20 62 20 3d 20 40 69 6e 74 54 6f 45 6e 75 6d 28 46 6f 6f 2c 20 61 e">....var.b.=.@intToEnum(Foo,.a
e4660 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">...
e4680 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f .........<span.class="t32_1">^</
e46a0 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">
e46c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d <span.class="t1_0">/home/andy/tm
e46e0 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f p/zig/lib/std/start.zig:551:22</
e4700 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 34 span>:.<span.class="t2_0">0x2264
e4720 62 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c bc.in.std.start.callMain.(test)<
e4740 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"
e4760 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e >............root.main();</span>
e4780 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">............
e47a0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f .........<span.class="t32_1">^</
e47c0 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">
e47e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d <span.class="t1_0">/home/andy/tm
e4800 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f p/zig/lib/std/start.zig:495:12</
e4820 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 span>:.<span.class="t2_0">0x2070
e4840 64 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 de.in.std.start.callMainWithArgs
e4860 20 28 74 65 73 74 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 73 .(test)</span></span>.<span.clas
e4880 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f s="line">....return.@call(.{..mo
e48a0 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d difier.=..always_inline.},.callM
e48c0 61 69 6e 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 6c ain,..{});</span>.<span.class="l
e48e0 69 6e 65 22 3e 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 33 32 ine">...........<span.class="t32
e4900 5f 31 22 3e 5e 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 _1">^</span></span>.<span.class=
e4920 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f "line"><span.class="t1_0">/home/
e4940 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 andy/tmp/zig/lib/std/start.zig:4
e4960 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 09:17</span>:.<span.class="t2_0"
e4980 3e 30 78 32 30 36 31 37 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c >0x206176.in.std.start.posixCall
e49a0 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e MainAndExit.(test)</span></span>
e49c0 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 6f 73 2e 65 .<span.class="line">....std.os.e
e49e0 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 xit(@call(.{..modifier.=..always
e4a00 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 _inline.},.callMainWithArgs,..{.
e4a20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 argc,.argv,.envp.}));</span>.<sp
e4a40 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">................
e4a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 <span.class="t32_1">^</span></sp
e4a80 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
e4aa0 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
e4ac0 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 /std/start.zig:322:5</span>:.<sp
e4ae0 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 38 32 20 69 6e 20 73 74 64 2e an.class="t2_0">0x205f82.in.std.
e4b00 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e start._start.(test)</span></span
e4b20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e >.<span.class="line">....@call(.
e4b40 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 {..modifier.=..never_inline.},.p
e4b60 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e osixCallMainAndExit,..{});</span
e4b80 3e 0a 3c 73 70 61 6e 20 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
e4ba0 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="t32_1">^</span></span>.<sp
e4bc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 an.class="line">(process.termina
e4be0 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 ted.by.signal)</span>.</samp></p
e4c00 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
e4c20 64 3d 22 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 3e 3c 61 20 68 72 d="Invalid-Error-Set-Cast"><a.hr
e4c40 65 66 3d 22 23 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 ef="#toc-Invalid-Error-Set-Cast"
e4c60 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 3e 20 3c 61 20 63 >Invalid.Error.Set.Cast</a>.<a.c
e4c80 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d lass="hdr".href="#Invalid-Error-
e4ca0 53 65 74 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 Set-Cast">..</a></h3>........<p>
e4cc0 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
e4ce0 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"><
e4d00 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 cite.class="file">test.zig</cite
e4d20 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
e4d40 6c 61 73 73 3d 22 6c 69 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"
e4d60 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 63 6c 61 73 73 >const</span>.Set1.=.<span.class
e4d80 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 61 6e 3e 0a 3c ="tok-kw">error</span>{</span>.<
e4da0 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 70 61 6e 3e 0a span.class="line">....A,</span>.
e4dc0 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 73 70 61 6e 3e <span.class="line">....B,</span>
e4de0 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
e4e00 70 61 6e 20 63 6c 61 73 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
e4e20 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 73 70 61 6e 20 k-kw">const</span>.Set2.=.<span.
e4e40 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
e4e60 61 6e 3e 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
e4e80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 43 2c 3c 2f pan>.<span.class="line">....C,</
e4ea0 73 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
e4ec0 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
e4ee0 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
e4f00 61 6e 3e 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 3c an>.<span.class="line">...._.=.<
e4f20 73 70 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 span.class="tok-builtin">@errSet
e4f40 43 61 73 74 3c 2f 73 70 61 6e 3e 28 53 65 74 32 2c 20 53 65 74 31 2e 42 29 3b 3c 2f 73 70 61 6e Cast</span>(Set2,.Set1.B);</span
e4f60 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
e4f80 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
e4fa0 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</
e4fc0 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><samp><span.clas
e4fe0 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 s="line">$.<kbd>zig.test.test.zi
e5000 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 g</kbd></span>.<span.class="line
e5020 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d "><span.class="t0_1">./docgen_tm
e5040 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c p/test.zig:10:9:.</span><span.cl
e5060 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 ass="t31_1">error:.</span><span.
e5080 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 72 72 6f 72 2e 42 20 6e 6f 74 20 61 20 6d 65 6d 62 65 class="t0_1">error.B.not.a.membe
e50a0 72 20 6f 66 20 65 72 72 6f 72 20 73 65 74 20 27 53 65 74 32 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 r.of.error.set.'Set2'</span></sp
e50c0 61 6e 3e 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 40 an>.<span.class="line">...._.=.@
e50e0 65 72 72 53 65 74 43 61 73 74 28 53 65 74 32 2c 20 53 65 74 31 2e 42 29 3b 3c 2f 73 70 61 6e 3e errSetCast(Set2,.Set1.B);</span>
e5100 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
e5120 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
e5140 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>
e5160 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 At.runtime:</p>.......<figure><f
e5180 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.
e51a0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 class="file">test.zig</cite></fi
e51c0 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=
e51e0 22 6c 69 6e 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
e5200 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-
e5220 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
e5240 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
e5260 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"
e5280 3e 3c 2f 73 70 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
e52a0 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.Se
e52c0 74 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c t1.=.<span.class="tok-kw">error<
e52e0 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 65 /span>{</span>.<span.class="line
e5300 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 6e ">....A,</span>.<span.class="lin
e5320 65 22 3e 20 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 e">....B,</span>.<span.class="li
e5340 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"
e5360 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
e5380 6e 3e 20 53 65 74 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 n>.Set2.=.<span.class="tok-kw">e
e53a0 72 72 6f 72 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 rror</span>{</span>.<span.class=
e53c0 22 6c 69 6e 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 "line">....A,</span>.<span.class
e53e0 3d 22 6c 69 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 ="line">....C,</span>.<span.clas
e5400 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 22 s="line">};</span>.<span.class="
e5420 6c 69 6e 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</
e5440 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
e5460 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</
e5480 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
e54a0 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=
e54c0 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 53 65 74 31 2e 42 29 3b 3c 2f 73 70 61 6e 3e 0a 3c "line">....foo(Set1.B);</span>.<
e54e0 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
e5500 20 63 6c 61 73 73 3d 22 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
e5520 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
e5540 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 65 74 31 3a 20 53 65 74 31 29 20 3c 73 70 61 6e 20 63 ">foo</span>(set1:.Set1).<span.c
e5560 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
e5580 70 61 6e 3e 0a 3c 73 70 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
e55a0 6e 20 63 6c 61 73 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 n.class="tok-kw">const</span>.x.
e55c0 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 65 72 72 =.<span.class="tok-builtin">@err
e55e0 53 65 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 53 65 74 32 2c 20 73 65 74 31 29 3b 3c 2f 73 70 61 SetCast</span>(Set2,.set1);</spa
e5600 6e 3e 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 n>.<span.class="line">....std.de
e5620 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 74 72 22 3e bug.print(<span.class="tok-str">
e5640 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 6e 3e 2c 20 &quot;value:.{}\n&quot;</span>,.
e5660 2e 7b 78 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 .{x});</span>.<span.class="line"
e5680 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><
e56a0 66 69 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-
e56c0 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
e56e0 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 p><span.class="line">$.<kbd>zig.
e5700 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a build-exe.test.zig</kbd></span>.
e5720 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
e5740 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 .class="line">$.<kbd>./test</kbd
e5760 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 ></span>.<span.class="line">thre
e5780 61 64 20 31 34 34 37 39 32 30 20 70 61 6e 69 63 3a 20 69 6e 76 61 6c 69 64 20 65 72 72 6f 72 20 ad.1447920.panic:.invalid.error.
e57a0 63 6f 64 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 code</span>.<span.class="line"><
e57c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 span.class="t1_0">/home/andy/tmp
e57e0 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 35 3a 31 35 3c 2f /zig/docgen_tmp/test.zig:15:15</
e5800 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 30 span>:.<span.class="t2_0">0x2340
e5820 63 63 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c cc.in.foo.(test)</span></span>.<
e5840 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 span.class="line">....const.x.=.
e5860 40 65 72 72 53 65 74 43 61 73 74 28 53 65 74 32 2c 20 73 65 74 31 29 3b 3c 2f 73 70 61 6e 3e 0a @errSetCast(Set2,.set1);</span>.
e5880 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">.............
e58a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 .<span.class="t32_1">^</span></s
e58c0 70 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
e58e0 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f ass="t1_0">/home/andy/tmp/zig/do
e5900 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 32 3a 38 3c 2f 73 70 61 6e 3e 3a 20 3c cgen_tmp/test.zig:12:8</span>:.<
e5920 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 64 64 20 69 6e 20 6d 61 span.class="t2_0">0x22cddd.in.ma
e5940 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c in.(test)</span></span>.<span.cl
e5960 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 53 65 74 31 2e 42 29 3b 3c 2f 73 70 61 ass="line">....foo(Set1.B);</spa
e5980 6e 3e 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 3c 73 70 n>.<span.class="line">.......<sp
e59a0 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e an.class="t32_1">^</span></span>
e59c0 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=
e59e0 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 "t1_0">/home/andy/tmp/zig/lib/st
e5a00 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e d/start.zig:551:22</span>:.<span
e5a20 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 34 65 63 20 69 6e 20 73 74 64 2e 73 74 .class="t2_0">0x2264ec.in.std.st
e5a40 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e art.callMain.(test)</span></span
e5a60 3e 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">...........
e5a80 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .root.main();</span>.<span.class
e5aa0 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 3c 73 70 ="line">.....................<sp
e5ac0 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e an.class="t32_1">^</span></span>
e5ae0 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=
e5b00 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 "t1_0">/home/andy/tmp/zig/lib/st
e5b20 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e d/start.zig:495:12</span>:.<span
e5b40 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 31 30 65 20 69 6e 20 73 74 64 2e 73 74 .class="t2_0">0x20710e.in.std.st
e5b60 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 art.callMainWithArgs.(test)</spa
e5b80 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">...
e5ba0 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c .return.@call(.{..modifier.=..al
e5bc0 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f ways_inline.},.callMain,..{});</
e5be0 73 70 61 6e 3e 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">.......
e5c00 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e ....<span.class="t32_1">^</span>
e5c20 3c 2f 73 70 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
e5c40 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 .class="t1_0">/home/andy/tmp/zig
e5c60 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e /lib/std/start.zig:409:17</span>
e5c80 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 61 36 20 69 6e :.<span.class="t2_0">0x2061a6.in
e5ca0 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 .std.start.posixCallMainAndExit.
e5cc0 28 74 65 73 74 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 73 73 (test)</span></span>.<span.class
e5ce0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b ="line">....std.os.exit(@call(.{
e5d00 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 ..modifier.=..always_inline.},.c
e5d20 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 allMainWithArgs,..{.argc,.argv,.
e5d40 65 6e 76 70 20 7d 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 envp.}));</span>.<span.class="li
e5d60 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=
e5d80 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "t32_1">^</span></span>.<span.cl
e5da0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 ass="line"><span.class="t1_0">/h
e5dc0 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a ome/andy/tmp/zig/lib/std/start.z
e5de0 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 ig:322:5</span>:.<span.class="t2
e5e00 5f 30 22 3e 30 78 32 30 35 66 62 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 _0">0x205fb2.in.std.start._start
e5e20 20 28 74 65 73 74 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 73 .(test)</span></span>.<span.clas
e5e40 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 s="line">....@call(.{..modifier.
e5e60 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e =..never_inline.},.posixCallMain
e5e80 41 6e 64 45 78 69 74 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 AndExit,..{});</span>.<span.clas
e5ea0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 s="line">....<span.class="t32_1"
e5ec0 3e 5e 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
e5ee0 6e 65 22 3e 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 ne">(process.terminated.by.signa
e5f00 6c 29 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 l)</span>.</samp></pre></figure>
e5f20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 63 6f 72 72 65 63 74 ...............<h3.id="Incorrect
e5f40 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f -Pointer-Alignment"><a.href="#to
e5f60 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 3e 49 c-Incorrect-Pointer-Alignment">I
e5f80 6e 63 6f 72 72 65 63 74 20 50 6f 69 6e 74 65 72 20 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 20 3c ncorrect.Pointer.Alignment</a>.<
e5fa0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 63 6f 72 72 65 63 74 2d 50 a.class="hdr".href="#Incorrect-P
e5fc0 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 ointer-Alignment">..</a></h3>...
e5fe0 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 20 .....<p>At.compile-time:</p>....
e6000 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
e6020 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 2e 7a g-cap"><cite.class="file">test.z
e6040 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
e6060 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=
e6080 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
e60a0 3e 0a 3c 73 70 61 6e 20 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
e60c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d lass="tok-kw">const</span>.ptr.=
e60e0 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 54 .<span.class="tok-builtin">@intT
e6100 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 oPtr</span>(*<span.class="tok-kw
e6120 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">align</span>(<span.class="tok-
e6140 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">1</span>).<span.class="t
e6160 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 73 73 ok-type">i32</span>,.<span.class
e6180 3d 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 ="tok-number">0x1</span>);</span
e61a0 3e 0a 3c 73 70 61 6e 20 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
e61c0 6c 61 73 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 lass="tok-kw">const</span>.align
e61e0 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">@
e6200 61 6c 69 67 6e 43 61 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 alignCast</span>(<span.class="to
e6220 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 29 3b 3c 2f 73 70 61 6e 3e k-number">4</span>,.ptr);</span>
e6240 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 61 6c 69 67 .<span.class="line">...._.=.alig
e6260 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 6e 65 22 3e 7d ned;</span>.<span.class="line">}
e6280 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
e62a0 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
e62c0 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>
e62e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 <span.class="line">$.<kbd>zig.te
e6300 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 st.test.zig</kbd></span>.<span.c
e6320 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e lass="line"><span.class="t0_1">.
e6340 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 33 35 3a 20 3c 2f 73 70 61 /docgen_tmp/test.zig:3:35:.</spa
e6360 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 n><span.class="t31_1">error:.</s
e6380 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 70 6f 69 6e 74 65 72 20 61 pan><span.class="t0_1">pointer.a
e63a0 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 74 6f 20 34 20 62 ddress.0x1.is.not.aligned.to.4.b
e63c0 79 74 65 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 ytes</span></span>.<span.class="
e63e0 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 61 6c 69 67 6e 65 64 20 3d 20 40 61 6c 69 67 6e line">....const.aligned.=.@align
e6400 43 61 73 74 28 34 2c 20 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 Cast(4,.ptr);</span>.<span.class
e6420 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 20 20 ="line">........................
e6440 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c ..........<span.class="t32_1">^<
e6460 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 /span></span>.</samp></pre></fig
e6480 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 ure>.......<p>At.runtime:</p>...
e64a0 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
e64c0 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 2e ig-cap"><cite.class="file">test.
e64e0 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
e6500 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
e6520 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 ="tok-kw">const</span>.mem.=.<sp
e6540 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</
e6560 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
e6580 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 6e 3e 0a t;std&quot;</span>).mem;</span>.
e65a0 3c 73 70 61 6e 20 63 6c 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="
e65c0 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="
e65e0 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
e6600 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 ok-fn">main</span>().!<span.clas
e6620 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
e6640 3e 0a 3c 73 70 61 6e 20 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
e6660 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3c lass="tok-kw">var</span>.array.<
e6680 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>
e66a0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 (<span.class="tok-number">4</spa
e66c0 6e 3e 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e n>).=.[_]<span.class="tok-type">
e66e0 75 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d u32</span>{.<span.class="tok-num
e6700 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ber">0x11111111</span>,.<span.cl
e6720 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 ass="tok-number">0x11111111</spa
e6740 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 3e n>.};</span>.<span.class="line">
e6760 20 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</
e6780 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 42 79 74 65 73 28 61 span>.bytes.=.mem.sliceAsBytes(a
e67a0 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 30 3c rray[<span.class="tok-number">0<
e67c0 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 63 6c 61 73 73 3d 22 /span>..]);</span>.<span.class="
e67e0 6c 69 6e 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 line">....<span.class="tok-kw">i
e6800 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 73 70 61 6e 20 63 6c f</span>.(foo(bytes).!=.<span.cl
e6820 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 ass="tok-number">0x11111111</spa
e6840 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c n>).<span.class="tok-kw">return<
e6860 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f /span>.<span.class="tok-kw">erro
e6880 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 70 61 6e 20 63 6c 61 r</span>.Wrong;</span>.<span.cla
e68a0 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="
e68c0 6c 69 6e 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
e68e0 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
e6900 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 3d 22 74 6f 6b 2d 74 pan>(bytes:.[]<span.class="tok-t
e6920 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 6b ype">u8</span>).<span.class="tok
e6940 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 6e -type">u32</span>.{</span>.<span
e6960 20 63 6c 61 73 73 3d 22 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
e6980 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 34 20 3d 20 62 79 74 ok-kw">const</span>.slice4.=.byt
e69a0 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 31 3c 2f 73 es[<span.class="tok-number">1</s
e69c0 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 65 72 22 3e 35 pan>..<span.class="tok-number">5
e69e0 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 69 </span>];</span>.<span.class="li
e6a00 6e 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
e6a20 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 6d 65 6d 2e 62 79 74 65 73 41 st</span>.int_slice.=.mem.bytesA
e6a40 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 3e 75 33 sSlice(<span.class="tok-type">u3
e6a60 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 2</span>,.<span.class="tok-built
e6a80 69 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 in">@alignCast</span>(<span.clas
e6aa0 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 73 6c 69 63 65 34 29 s="tok-number">4</span>,.slice4)
e6ac0 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">...
e6ae0 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
e6b00 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e an>.int_slice[<span.class="tok-n
e6b20 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
e6b40 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
e6b60 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
e6b80 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
e6ba0 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
e6bc0 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 2e 7a 69 67 3c 2f 6b $.<kbd>zig.build-exe.test.zig</k
e6be0 62 64 3e 3c 2f 73 70 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 bd></span>.<span.class="line"></
e6c00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e span>.<span.class="line">$.<kbd>
e6c20 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ./test</kbd></span>.<span.class=
e6c40 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 38 30 39 32 20 70 61 6e 69 63 3a 20 69 6e 63 "line">thread.1448092.panic:.inc
e6c60 6f 72 72 65 63 74 20 61 6c 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c orrect.alignment</span>.<span.cl
e6c80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 ass="line"><span.class="t1_0">/h
e6ca0 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 ome/andy/tmp/zig/docgen_tmp/test
e6cc0 2e 7a 69 67 3a 39 3a 35 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .zig:9:59</span>:.<span.class="t
e6ce0 32 5f 30 22 3e 30 78 32 33 34 33 62 63 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 2_0">0x2343bc.in.foo.(test)</spa
e6d00 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">...
e6d20 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 53 6c .const.int_slice.=.mem.bytesAsSl
e6d40 69 63 65 28 75 33 32 2c 20 40 61 6c 69 67 6e 43 61 73 74 28 34 2c 20 73 6c 69 63 65 34 29 29 3b ice(u32,.@alignCast(4,.slice4));
e6d60 3c 2f 73 70 61 6e 3e 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">.....
e6d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
e6da0 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
e6dc0 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="t32_1">^</span></span>.<span.c
e6de0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f lass="line"><span.class="t1_0">/
e6e00 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 home/andy/tmp/zig/docgen_tmp/tes
e6e20 74 2e 7a 69 67 3a 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t.zig:5:12</span>:.<span.class="
e6e40 74 32 5f 30 22 3e 30 78 32 32 63 66 63 35 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 t2_0">0x22cfc5.in.main.(test)</s
e6e60 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">.
e6e80 20 20 20 69 66 20 28 66 6f 6f 28 62 79 74 65 73 29 20 21 3d 20 30 78 31 31 31 31 31 31 31 31 29 ...if.(foo(bytes).!=.0x11111111)
e6ea0 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 57 72 6f 6e 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .return.error.Wrong;</span>.<spa
e6ec0 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 3c 73 70 61 6e 20 n.class="line">...........<span.
e6ee0 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 class="t32_1">^</span></span>.<s
e6f00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 pan.class="line"><span.class="t1
e6f20 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 _0">/home/andy/tmp/zig/lib/std/s
e6f40 74 61 72 74 2e 7a 69 67 3a 35 36 31 3a 33 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c tart.zig:561:37</span>:.<span.cl
e6f60 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 35 37 61 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x22657a.in.std.start
e6f80 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .callMain.(test)</span></span>.<
e6fa0 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 63 6f span.class="line">............co
e6fc0 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.|
e6fe0 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 22 6c 69 6e 65 22 err|.{</span>.<span.class="line"
e7000 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 20 20 20 20 20 20 20 >...............................
e7020 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e .....<span.class="t32_1">^</span
e7040 3e 3c 2f 73 70 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
e7060 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 n.class="t1_0">/home/andy/tmp/zi
e7080 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e g/lib/std/start.zig:495:12</span
e70a0 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 31 36 65 20 69 >:.<span.class="t2_0">0x20716e.i
e70c0 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 n.std.start.callMainWithArgs.(te
e70e0 73 74 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 73 73 3d 22 6c st)</span></span>.<span.class="l
e7100 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 ine">....return.@call(.{..modifi
e7120 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c er.=..always_inline.},.callMain,
e7140 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"
e7160 3e 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 33 32 5f 31 22 3e >...........<span.class="t32_1">
e7180 5e 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
e71a0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 e"><span.class="t1_0">/home/andy
e71c0 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 /tmp/zig/lib/std/start.zig:409:1
e71e0 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 7</span>:.<span.class="t2_0">0x2
e7200 30 36 32 30 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 06206.in.std.start.posixCallMain
e7220 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 AndExit.(test)</span></span>.<sp
e7240 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 an.class="line">....std.os.exit(
e7260 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c @call(.{..modifier.=..always_inl
e7280 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 ine.},.callMainWithArgs,..{.argc
e72a0 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ,.argv,.envp.}));</span>.<span.c
e72c0 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 73 70 61 lass="line">................<spa
e72e0 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
e7300 3c 73 70 61 6e 20 63 6c 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="
e7320 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 t1_0">/home/andy/tmp/zig/lib/std
e7340 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 /start.zig:322:5</span>:.<span.c
e7360 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 30 31 32 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x206012.in.std.star
e7380 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 t._start.(test)</span></span>.<s
e73a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d pan.class="line">....@call(.{..m
e73c0 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 odifier.=..never_inline.},.posix
e73e0 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 CallMainAndExit,..{});</span>.<s
e7400 70 61 6e 20 63 6c 61 73 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
e7420 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="t32_1">^</span></span>.<span.c
e7440 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 lass="line">(process.terminated.
e7460 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c by.signal)</span>.</samp></pre><
e7480 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 57 72 /figure>..............<h3.id="Wr
e74a0 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e 3c 61 20 68 72 65 66 3d ong-Union-Field-Access"><a.href=
e74c0 22 23 74 6f 63 2d 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 "#toc-Wrong-Union-Field-Access">
e74e0 57 72 6f 6e 67 20 55 6e 69 6f 6e 20 46 69 65 6c 64 20 41 63 63 65 73 73 3c 2f 61 3e 20 3c 61 20 Wrong.Union.Field.Access</a>.<a.
e7500 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 class="hdr".href="#Wrong-Union-F
e7520 69 65 6c 64 2d 41 63 63 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ield-Access">..</a></h3>........
e7540 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 <p>At.compile-time:</p>.......<f
e7560 69 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
e7580 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 7a 69 67 3c 2f 63 "><cite.class="file">test.zig</c
e75a0 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
e75c0 6e 20 63 6c 61 73 73 3d 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-
e75e0 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
e7600 61 6e 20 63 6c 61 73 73 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=
e7620 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
e7640 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<
e7660 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
e7680 6e 65 22 3e 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ne">....f.float.=.<span.class="t
e76a0 6f 6b 2d 6e 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 ok-number">12.34</span>;</span>.
e76c0 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
e76e0 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
e7700 73 73 3d 22 6c 69 6e 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
e7720 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
e7740 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 70 ok-kw">union</span>.{</span>.<sp
e7760 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 6e an.class="line">....float:.<span
e7780 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 73 .class="tok-type">f32</span>,</s
e77a0 70 61 6e 3e 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 pan>.<span.class="line">....int:
e77c0 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
e77e0 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">};
e7800 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
e7820 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
e7840 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>
e7860 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 <span.class="line">$.<kbd>zig.te
e7880 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 st.test.zig</kbd></span>.<span.c
e78a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e lass="line"><span.class="t0_1">.
e78c0 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 36 3a 20 3c 2f 73 70 61 6e /docgen_tmp/test.zig:3:6:.</span
e78e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 ><span.class="t31_1">error:.</sp
e7900 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 61 63 63 65 73 73 69 6e 67 20 an><span.class="t0_1">accessing.
e7920 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 64 20 union.field.'float'.while.field.
e7940 27 69 6e 74 27 20 69 73 20 73 65 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 'int'.is.set</span></span>.<span
e7960 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 31 32 2e 33 .class="line">....f.float.=.12.3
e7980 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 22 3e 20 20 20 4;</span>.<span.class="line">...
e79a0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f ..<span.class="t32_1">^</span></
e79c0 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>....
e79e0 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
e7a00 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">
e7a20 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 <cite.class="file">test.zig</cit
e7a40 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.
e7a60 63 6c 61 73 73 3d 22 6c 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
e7a80 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
e7aa0 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
e7ac0 70 61 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
e7ae0 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=
e7b00 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
e7b20 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
e7b40 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 75 an>.Foo.=.<span.class="tok-kw">u
e7b60 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 73 nion</span>.{</span>.<span.class
e7b80 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 22 ="line">....float:.<span.class="
e7ba0 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 70 tok-type">f32</span>,</span>.<sp
e7bc0 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 63 an.class="line">....int:.<span.c
e7be0 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 61 lass="tok-type">u32</span>,</spa
e7c00 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>.
e7c20 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
e7c40 20 63 6c 61 73 73 3d 22 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
e7c60 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
e7c80 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
e7ca0 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">main</span>().<span.class="tok
e7cc0 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
e7ce0 6e 20 63 6c 61 73 73 3d 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="
e7d00 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 74 tok-kw">var</span>.f.=.Foo{..int
e7d20 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 2f .=.<span.class="tok-number">42</
e7d40 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
e7d60 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 3c 73 70 61 6e e">....bar(&amp;f);</span>.<span
e7d80 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
e7da0 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
e7dc0 69 6e 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
e7de0 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 70 an>.<span.class="tok-fn">bar</sp
e7e00 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 6f 6b 2d 74 79 an>(f:.*Foo).<span.class="tok-ty
e7e20 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
e7e40 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 73 70 61 6e 20 lass="line">....f.float.=.<span.
e7e60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b class="tok-number">12.34</span>;
e7e80 3c 2f 73 70 61 6e 3e 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
e7ea0 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-
e7ec0 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
e7ee0 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 70 61 6e 20 63 an>,..{f.float});</span>.<span.c
e7f00 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
e7f20 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
e7f40 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
e7f60 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
e7f80 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 2e 7a 69 67 3c 2f 6b $.<kbd>zig.build-exe.test.zig</k
e7fa0 62 64 3e 3c 2f 73 70 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 bd></span>.<span.class="line"></
e7fc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e span>.<span.class="line">$.<kbd>
e7fe0 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ./test</kbd></span>.<span.class=
e8000 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 38 33 34 36 20 70 61 6e 69 63 3a 20 61 63 63 "line">thread.1448346.panic:.acc
e8020 65 73 73 20 6f 66 20 69 6e 61 63 74 69 76 65 20 75 6e 69 6f 6e 20 66 69 65 6c 64 3c 2f 73 70 61 ess.of.inactive.union.field</spa
e8040 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
e8060 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 s="t1_0">/home/andy/tmp/zig/docg
e8080 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 34 3a 36 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 en_tmp/test.zig:14:6</span>:.<sp
e80a0 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 34 31 61 31 61 20 69 6e 20 62 61 72 20 an.class="t2_0">0x241a1a.in.bar.
e80c0 28 74 65 73 74 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 73 73 (test)</span></span>.<span.class
e80e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 34 3b 3c 2f 73 70 ="line">....f.float.=.12.34;</sp
e8100 61 6e 3e 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 3c 73 70 61 an>.<span.class="line">.....<spa
e8120 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.class="t32_1">^</span></span>.
e8140 3c 73 70 61 6e 20 63 6c 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="
e8160 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f t1_0">/home/andy/tmp/zig/docgen_
e8180 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 tmp/test.zig:10:8</span>:.<span.
e81a0 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 61 37 32 63 20 69 6e 20 6d 61 69 6e 20 28 74 class="t2_0">0x23a72c.in.main.(t
e81c0 65 73 74 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 73 73 3d 22 est)</span></span>.<span.class="
e81e0 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 3c 73 line">....bar(&amp;f);</span>.<s
e8200 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c pan.class="line">.......<span.cl
e8220 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="t32_1">^</span></span>.<spa
e8240 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 n.class="line"><span.class="t1_0
e8260 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 ">/home/andy/tmp/zig/lib/std/sta
e8280 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 rt.zig:551:22</span>:.<span.clas
e82a0 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 33 65 32 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 s="t2_0">0x233e2c.in.std.start.c
e82c0 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 allMain.(test)</span></span>.<sp
e82e0 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 6f 6f 74 an.class="line">............root
e8300 2e 6d 61 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 22 6c 69 6e .main();</span>.<span.class="lin
e8320 65 22 3e 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 e">.....................<span.cl
e8340 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="t32_1">^</span></span>.<spa
e8360 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 n.class="line"><span.class="t1_0
e8380 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 ">/home/andy/tmp/zig/lib/std/sta
e83a0 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 rt.zig:495:12</span>:.<span.clas
e83c0 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 34 61 34 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 s="t2_0">0x214a4e.in.std.start.c
e83e0 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 allMainWithArgs.(test)</span></s
e8400 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 pan>.<span.class="line">....retu
e8420 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f rn.@call(.{..modifier.=..always_
e8440 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e inline.},.callMain,..{});</span>
e8460 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 3c .<span.class="line">...........<
e8480 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 span.class="t32_1">^</span></spa
e84a0 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
e84c0 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f s="t1_0">/home/andy/tmp/zig/lib/
e84e0 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 std/start.zig:409:17</span>:.<sp
e8500 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 33 61 65 36 20 69 6e 20 73 74 64 2e an.class="t2_0">0x213ae6.in.std.
e8520 73 74 61 72 74 2e 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 start.posixCallMainAndExit.(test
e8540 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 73 73 3d 22 6c 69 6e )</span></span>.<span.class="lin
e8560 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 e">....std.os.exit(@call(.{..mod
e8580 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 ifier.=..always_inline.},.callMa
e85a0 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 inWithArgs,..{.argc,.argv,.envp.
e85c0 7d 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">.
e85e0 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 33 32 5f ...............<span.class="t32_
e8600 31 22 3e 5e 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="
e8620 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 line"><span.class="t1_0">/home/a
e8640 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 ndy/tmp/zig/lib/std/start.zig:32
e8660 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 2:5</span>:.<span.class="t2_0">0
e8680 78 32 31 33 38 66 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 x2138f2.in.std.start._start.(tes
e86a0 74 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 73 73 3d 22 6c 69 t)</span></span>.<span.class="li
e86c0 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 ne">....@call(.{..modifier.=..ne
e86e0 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 ver_inline.},.posixCallMainAndEx
e8700 69 74 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 6c 69 it,..{});</span>.<span.class="li
e8720 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 ne">....<span.class="t32_1">^</s
e8740 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 28 pan></span>.<span.class="line">(
e8760 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 3c 2f 73 process.terminated.by.signal)</s
e8780 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>.....
e87a0 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 73 61 66 65 74 79 20 69 73 20 6e 6f 74 20 61 ..<p>.......This.safety.is.not.a
e87c0 76 61 69 6c 61 62 6c 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 vailable.for.<code><span.class="
e87e0 6c 69 6e 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 line"><span.class="tok-kw">exter
e8800 6e 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 3e n</span></span></code>.or.<code>
e8820 3c 73 70 61 6e 20 63 6c 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="
e8840 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 63 6f tok-kw">packed</span></span></co
e8860 64 65 3e 20 75 6e 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 de>.unions........</p>.......<p>
e8880 0a 20 20 20 20 20 20 54 6f 20 63 68 61 6e 67 65 20 74 68 65 20 61 63 74 69 76 65 20 66 69 65 6c .......To.change.the.active.fiel
e88a0 64 20 6f 66 20 61 20 75 6e 69 6f 6e 2c 20 61 73 73 69 67 6e 20 74 68 65 20 65 6e 74 69 72 65 20 d.of.a.union,.assign.the.entire.
e88c0 75 6e 69 6f 6e 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 union,.like.this:.......</p>....
e88e0 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
e8900 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 2e 7a g-cap"><cite.class="file">test.z
e8920 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
e8940 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=
e8960 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
e8980 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
e89a0 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
e89c0 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
e89e0 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
e8a00 73 3d 22 6c 69 6e 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
e8a20 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 6f nst</span>.Foo.=.<span.class="to
e8a40 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 70 61 k-kw">union</span>.{</span>.<spa
e8a60 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 6e 20 n.class="line">....float:.<span.
e8a80 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 73 70 class="tok-type">f32</span>,</sp
e8aa0 61 6e 3e 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 an>.<span.class="line">....int:.
e8ac0 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
e8ae0 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 3c >,</span>.<span.class="line">};<
e8b00 2f 73 70 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
e8b20 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
e8b40 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
e8b60 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=
e8b80 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
e8ba0 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
e8bc0 6e 3e 0a 3c 73 70 61 6e 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.
e8be0 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 46 6f class="tok-kw">var</span>.f.=.Fo
e8c00 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 62 65 o{..int.=.<span.class="tok-numbe
e8c20 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 6c 61 r">42</span>.};</span>.<span.cla
e8c40 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 61 6e ss="line">....bar(&amp;f);</span
e8c60 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
e8c80 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
e8ca0 6c 61 73 73 3d 22 6c 69 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"
e8cc0 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">
e8ce0 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 73 3d bar</span>(f:.*Foo).<span.class=
e8d00 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>.
e8d20 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 6f 6f <span.class="line">....f.*.=.Foo
e8d40 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 6d 62 {..float.=.<span.class="tok-numb
e8d60 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 61 6e er">12.34</span>.};</span>.<span
e8d80 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 6e .class="line">....std.debug.prin
e8da0 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 61 t(<span.class="tok-str">&quot;va
e8dc0 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 6f 61 lue:.{}\n&quot;</span>,..{f.floa
e8de0 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 3e 7d t});</span>.<span.class="line">}
e8e00 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
e8e20 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
e8e40 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>
e8e60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 <span.class="line">$.<kbd>zig.bu
e8e80 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ild-exe.test.zig</kbd></span>.<s
e8ea0 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
e8ec0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c lass="line">$.<kbd>./test</kbd><
e8ee0 2f 73 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 61 6c 75 65 3a /span>.<span.class="line">value:
e8f00 20 31 2e 32 33 34 30 30 30 30 31 65 2b 30 31 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f .1.23400001e+01</span>.</samp></
e8f20 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 6f pre></figure>.......<p>.......To
e8f40 20 63 68 61 6e 67 65 20 74 68 65 20 61 63 74 69 76 65 20 66 69 65 6c 64 20 6f 66 20 61 20 75 6e .change.the.active.field.of.a.un
e8f60 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 6f 72 20 ion.when.a.meaningful.value.for.
e8f80 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 20 75 73 the.field.is.not.known,.......us
e8fa0 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 6e 65 64 e.<a.href="#undefined">undefined
e8fc0 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 20 20 20 </a>,.like.this:.......</p>.....
e8fe0 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
e9000 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 -cap"><cite.class="file">test.zi
e9020 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>
e9040 3c 73 70 61 6e 20 63 6c 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="
e9060 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
e9080 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
e90a0 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;
e90c0 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.
e90e0 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
e9100 3d 22 6c 69 6e 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
e9120 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 6f 6b st</span>.Foo.=.<span.class="tok
e9140 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 70 61 6e -kw">union</span>.{</span>.<span
e9160 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 6e 20 63 .class="line">....float:.<span.c
e9180 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 73 70 61 lass="tok-type">f32</span>,</spa
e91a0 6e 3e 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 n>.<span.class="line">....int:.<
e91c0 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>
e91e0 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">};</
e9200 73 70 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>
e9220 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=
e9240 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=
e9260 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="
e9280 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
e92a0 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
e92c0 3e 0a 3c 73 70 61 6e 20 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
e92e0 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 46 6f 6f lass="tok-kw">var</span>.f.=.Foo
e9300 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 62 65 72 {..int.=.<span.class="tok-number
e9320 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 6c 61 73 ">42</span>.};</span>.<span.clas
e9340 73 3d 22 6c 69 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 s="line">....f.=.Foo{..float.=.<
e9360 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<
e9380 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
e93a0 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 3c 73 70 61 ne">....bar(&amp;f);</span>.<spa
e93c0 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
e93e0 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
e9400 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 6f alue:.{}\n&quot;</span>,..{f.flo
e9420 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 3e at});</span>.<span.class="line">
e9440 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
e9460 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
e9480 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
e94a0 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 66 3a 20 2a 46 6f 6f 29 20 3c s="tok-fn">bar</span>(f:.*Foo).<
e94c0 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
e94e0 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">..
e9500 20 20 66 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ..f.float.=.<span.class="tok-num
e9520 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 6e 20 ber">12.34</span>;</span>.<span.
e9540 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
e9560 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
e9580 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
e95a0 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 on><pre><samp><span.class="line"
e95c0 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 2e 7a 69 67 3c 2f >$.<kbd>zig.build-exe.test.zig</
e95e0 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c kbd></span>.<span.class="line"><
e9600 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 /span>.<span.class="line">$.<kbd
e9620 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >./test</kbd></span>.<span.class
e9640 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3a 20 31 2e 32 33 34 30 30 30 30 31 65 2b 30 31 3c 2f 73 ="line">value:.1.23400001e+01</s
e9660 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>.....
e9680 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
e96a0 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 3e 3c ef="#union">union</a></li>.<li><
e96c0 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 75 6e a.href="#extern-union">extern.un
e96e0 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 20 20 ion</a></li>.</ul>..............
e9700 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 74 6f ..<h3.id="Out-of-Bounds-Float-to
e9720 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 75 74 -Integer-Cast"><a.href="#toc-Out
e9740 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 73 74 -of-Bounds-Float-to-Integer-Cast
e9760 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 65 72 ">Out.of.Bounds.Float.to.Integer
e9780 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 22 23 .Cast</a>.<a.class="hdr".href="#
e97a0 4f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 Out-of-Bounds-Float-to-Integer-C
e97c0 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 54 4f 44 4f 3c ast">..</a></h3>........<p>TODO<
e97e0 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 50 6f 69 6e 74 65 /p>...............<h3.id="Pointe
e9800 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 r-Cast-Invalid-Null"><a.href="#t
e9820 6f 63 2d 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f oc-Pointer-Cast-Invalid-Null">Po
e9840 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 20 3c 61 20 63 inter.Cast.Invalid.Null</a>.<a.c
e9860 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 2d 43 61 73 74 2d 49 lass="hdr".href="#Pointer-Cast-I
e9880 6e 76 61 6c 69 64 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 nvalid-Null">..</a></h3>........
e98a0 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 68 61 70 70 65 6e 73 20 77 68 65 6e 20 63 61 73 74 <p>.......This.happens.when.cast
e98c0 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 74 68 65 20 61 64 64 72 65 73 73 20 30 ing.a.pointer.with.the.address.0
e98e0 20 74 6f 20 61 20 70 6f 69 6e 74 65 72 20 77 68 69 63 68 20 6d 61 79 20 6e 6f 74 20 68 61 76 65 .to.a.pointer.which.may.not.have
e9900 20 74 68 65 20 61 64 64 72 65 73 73 20 30 2e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c .the.address.0........For.exampl
e9920 65 2c 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 e,.<a.href="#C-Pointers">C.Point
e9940 65 72 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e ers</a>,.<a.href="#Optional-Poin
e9960 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 2c 20 61 6e 64 ters">Optional.Pointers</a>,.and
e9980 20 3c 61 20 68 72 65 66 3d 22 23 61 6c 6c 6f 77 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c .<a.href="#allowzero">allowzero<
e99a0 2f 61 3e 20 70 6f 69 6e 74 65 72 73 0a 20 20 20 20 20 20 61 6c 6c 6f 77 20 61 64 64 72 65 73 73 /a>.pointers.......allow.address
e99c0 20 7a 65 72 6f 2c 20 62 75 74 20 6e 6f 72 6d 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e .zero,.but.normal.<a.href="#Poin
e99e0 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 64 6f 20 6e 6f 74 2e 0a 20 20 20 20 20 ters">Pointers</a>.do.not.......
e9a00 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c .</p>.......<p>At.compile-time:<
e9a20 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
e9a40 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"
e9a60 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 >test.zig</cite></figcaption><pr
e9a80 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
e9aa0 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>.
e9ac0 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">....
e9ae0 3c 73 70 61 6e 20 63 6c 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
e9b00 3e 20 6f 70 74 5f 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 >.opt_ptr:.?*<span.class="tok-ty
e9b20 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
e9b40 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 3c 73 70 61 k-null">null</span>;</span>.<spa
e9b60 6e 20 63 6c 61 73 73 3d 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="
e9b80 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 3c 73 70 61 6e tok-kw">const</span>.ptr.=.<span
e9ba0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 .class="tok-builtin">@ptrCast</s
e9bc0 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 pan>(*<span.class="tok-type">i32
e9be0 3c 2f 73 70 61 6e 3e 2c 20 6f 70 74 5f 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 </span>,.opt_ptr);</span>.<span.
e9c00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 74 72 3b 3c 2f 73 70 61 6e 3e class="line">...._.=.ptr;</span>
e9c20 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
e9c40 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
e9c60 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
e9c80 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 igcaption><pre><samp><span.class
e9ca0 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 ="line">$.<kbd>zig.test.test.zig
e9cc0 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 </kbd></span>.<span.class="line"
e9ce0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 ><span.class="t0_1">./docgen_tmp
e9d00 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 /test.zig:3:17:.</span><span.cla
e9d20 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 ss="t31_1">error:.</span><span.c
e9d40 6c 61 73 73 3d 22 74 30 5f 31 22 3e 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 63 61 73 74 65 64 20 lass="t0_1">null.pointer.casted.
e9d60 74 6f 20 74 79 70 65 20 27 2a 69 33 32 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 to.type.'*i32'</span></span>.<sp
e9d80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 70 74 72 20 3d 20 an.class="line">....const.ptr.=.
e9da0 40 70 74 72 43 61 73 74 28 2a 69 33 32 2c 20 6f 70 74 5f 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a @ptrCast(*i32,.opt_ptr);</span>.
e9dc0 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">.............
e9de0 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c ...<span.class="t32_1">^</span><
e9e00 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>...
e9e20 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
e9e40 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"
e9e60 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 7a 69 67 3c 2f 63 69 ><cite.class="file">test.zig</ci
e9e80 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
e9ea0 20 63 6c 61 73 73 3d 22 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
e9ec0 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
e9ee0 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
e9f00 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">main</span>().<span.class="tok
e9f20 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
e9f40 6e 20 63 6c 61 73 73 3d 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="
e9f60 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6f 70 74 5f 70 74 72 3a 20 3f 2a 3c 73 tok-kw">var</span>.opt_ptr:.?*<s
e9f80 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>.
e9fa0 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 73 =.<span.class="tok-null">null</s
e9fc0 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">
e9fe0 20 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
ea000 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 62 75 69 6c 74 an>.ptr.=.<span.class="tok-built
ea020 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 in">@ptrCast</span>(*<span.class
ea040 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 6f 70 74 5f 70 74 72 29 ="tok-type">i32</span>,.opt_ptr)
ea060 3b 3c 2f 73 70 61 6e 3e 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">....
ea080 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 6c 69 6e _.=.ptr;</span>.<span.class="lin
ea0a0 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
ea0c0 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
ea0e0 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
ea100 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 amp><span.class="line">$.<kbd>zi
ea120 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e g.build-exe.test.zig</kbd></span
ea140 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
ea160 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b an.class="line">$.<kbd>./test</k
ea180 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 bd></span>.<span.class="line">th
ea1a0 72 65 61 64 20 31 34 34 39 36 30 32 20 70 61 6e 69 63 3a 20 63 61 73 74 20 63 61 75 73 65 73 20 read.1449602.panic:.cast.causes.
ea1c0 70 6f 69 6e 74 65 72 20 74 6f 20 62 65 20 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pointer.to.be.null</span>.<span.
ea1e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e class="line"><span.class="t1_0">
ea200 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 /home/andy/tmp/zig/docgen_tmp/te
ea220 73 74 2e 7a 69 67 3a 33 3a 31 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig:3:15</span>:.<span.class=
ea240 22 74 32 5f 30 22 3e 30 78 32 32 63 63 63 30 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f "t2_0">0x22ccc0.in.main.(test)</
ea260 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">
ea280 20 20 20 20 76 61 72 20 70 74 72 20 3d 20 40 70 74 72 43 61 73 74 28 2a 69 33 32 2c 20 6f 70 74 ....var.ptr.=.@ptrCast(*i32,.opt
ea2a0 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 69 6e 65 22 _ptr);</span>.<span.class="line"
ea2c0 3e 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 33 32 5f >..............<span.class="t32_
ea2e0 31 22 3e 5e 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="
ea300 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 line"><span.class="t1_0">/home/a
ea320 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 ndy/tmp/zig/lib/std/start.zig:55
ea340 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 1:22</span>:.<span.class="t2_0">
ea360 30 78 32 32 36 33 61 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 0x2263ac.in.std.start.callMain.(
ea380 74 65 73 74 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 73 73 3d test)</span></span>.<span.class=
ea3a0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c "line">............root.main();<
ea3c0 2f 73 70 61 6e 3e 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">......
ea3e0 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 33 32 5f ...............<span.class="t32_
ea400 31 22 3e 5e 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="
ea420 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 line"><span.class="t1_0">/home/a
ea440 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 ndy/tmp/zig/lib/std/start.zig:49
ea460 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 5:12</span>:.<span.class="t2_0">
ea480 30 78 32 30 36 66 63 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 0x206fce.in.std.start.callMainWi
ea4a0 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 thArgs.(test)</span></span>.<spa
ea4c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 n.class="line">....return.@call(
ea4e0 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c .{..modifier.=..always_inline.},
ea500 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .callMain,..{});</span>.<span.cl
ea520 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ass="line">...........<span.clas
ea540 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="t32_1">^</span></span>.<span.
ea560 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e class="line"><span.class="t1_0">
ea580 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 /home/andy/tmp/zig/lib/std/start
ea5a0 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .zig:409:17</span>:.<span.class=
ea5c0 22 74 32 5f 30 22 3e 30 78 32 30 36 30 36 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 "t2_0">0x206066.in.std.start.pos
ea5e0 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c ixCallMainAndExit.(test)</span><
ea600 2f 73 70 61 6e 3e 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
ea620 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e d.os.exit(@call(.{..modifier.=..
ea640 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 always_inline.},.callMainWithArg
ea660 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 s,..{.argc,.argv,.envp.}));</spa
ea680 6e 3e 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">..........
ea6a0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 ......<span.class="t32_1">^</spa
ea6c0 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
ea6e0 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
ea700 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e ig/lib/std/start.zig:322:5</span
ea720 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 65 37 32 20 69 >:.<span.class="t2_0">0x205e72.i
ea740 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e n.std.start._start.(test)</span>
ea760 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 </span>.<span.class="line">....@
ea780 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e call(.{..modifier.=..never_inlin
ea7a0 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b e.},.posixCallMainAndExit,..{});
ea7c0 3c 2f 73 70 61 6e 3e 0a 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">....<
ea7e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 span.class="t32_1">^</span></spa
ea800 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 n>.<span.class="line">(process.t
ea820 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 erminated.by.signal)</span>.</sa
ea840 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>..............
ea860 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4d 65 6d 6f 72 79 22 3e 3c 61 20 68 72 65 66 3d ........<h2.id="Memory"><a.href=
ea880 22 23 74 6f 63 2d 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 "#toc-Memory">Memory</a>.<a.clas
ea8a0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 s="hdr".href="#Memory">..</a></h
ea8c0 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 20 6c 61 6e 67 2>........<p>.......The.Zig.lang
ea8e0 75 61 67 65 20 70 65 72 66 6f 72 6d 73 20 6e 6f 20 6d 65 6d 6f 72 79 20 6d 61 6e 61 67 65 6d 65 uage.performs.no.memory.manageme
ea900 6e 74 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 2e 20 nt.on.behalf.of.the.programmer..
ea920 54 68 69 73 20 69 73 0a 20 20 20 20 20 20 77 68 79 20 5a 69 67 20 68 61 73 20 6e 6f 20 72 75 6e This.is.......why.Zig.has.no.run
ea940 74 69 6d 65 2c 20 61 6e 64 20 77 68 79 20 5a 69 67 20 63 6f 64 65 20 77 6f 72 6b 73 20 73 65 61 time,.and.why.Zig.code.works.sea
ea960 6d 6c 65 73 73 6c 79 20 69 6e 20 73 6f 20 6d 61 6e 79 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2c mlessly.in.so.many.environments,
ea980 0a 20 20 20 20 20 20 69 6e 63 6c 75 64 69 6e 67 20 72 65 61 6c 2d 74 69 6d 65 20 73 6f 66 74 77 .......including.real-time.softw
ea9a0 61 72 65 2c 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 6b 65 72 6e 65 6c 73 2c 20 65 are,.operating.system.kernels,.e
ea9c0 6d 62 65 64 64 65 64 20 64 65 76 69 63 65 73 2c 20 61 6e 64 0a 20 20 20 20 20 20 6c 6f 77 20 6c mbedded.devices,.and.......low.l
ea9e0 61 74 65 6e 63 79 20 73 65 72 76 65 72 73 2e 20 41 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 atency.servers..As.a.consequence
eaa00 2c 20 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 6d 75 73 74 20 61 6c 77 61 79 73 20 62 65 ,.Zig.programmers.must.always.be
eaa20 20 61 62 6c 65 20 74 6f 20 61 6e 73 77 65 72 0a 20 20 20 20 20 20 74 68 65 20 71 75 65 73 74 69 .able.to.answer.......the.questi
eaa40 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d on:.......</p>.......<p><a.href=
eaa60 22 23 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 "#Where-are-the-bytes">Where.are
eaa80 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 .the.bytes?</a></p>.......<p>...
eaaa0 20 20 20 20 4c 69 6b 65 20 5a 69 67 2c 20 74 68 65 20 43 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 ....Like.Zig,.the.C.programming.
eaac0 6c 61 6e 67 75 61 67 65 20 68 61 73 20 6d 61 6e 75 61 6c 20 6d 65 6d 6f 72 79 20 6d 61 6e 61 67 language.has.manual.memory.manag
eaae0 65 6d 65 6e 74 2e 20 48 6f 77 65 76 65 72 2c 20 75 6e 6c 69 6b 65 20 5a 69 67 2c 0a 20 20 20 20 ement..However,.unlike.Zig,.....
eab00 20 20 43 20 68 61 73 20 61 20 64 65 66 61 75 6c 74 20 61 6c 6c 6f 63 61 74 6f 72 20 2d 20 3c 63 ..C.has.a.default.allocator.-.<c
eab20 6f 64 65 3e 6d 61 6c 6c 6f 63 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 72 65 61 6c 6c 6f 63 ode>malloc</code>,.<code>realloc
eab40 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 66 72 65 65 3c 2f 63 6f 64 65 3e 2e 0a </code>,.and.<code>free</code>..
eab60 20 20 20 20 20 20 57 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 61 67 61 69 6e 73 74 20 6c 69 62 63 2c ......When.linking.against.libc,
eab80 20 5a 69 67 20 65 78 70 6f 73 65 73 20 74 68 69 73 20 61 6c 6c 6f 63 61 74 6f 72 20 77 69 74 68 .Zig.exposes.this.allocator.with
eaba0 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 68 65 .<code><span.class="line">std.he
eabc0 61 70 2e 63 5f 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 ap.c_allocator</span></code>....
eabe0 20 20 20 20 48 6f 77 65 76 65 72 2c 20 62 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 74 68 65 72 ....However,.by.convention,.ther
eac00 65 20 69 73 20 6e 6f 20 64 65 66 61 75 6c 74 20 61 6c 6c 6f 63 61 74 6f 72 20 69 6e 20 5a 69 67 e.is.no.default.allocator.in.Zig
eac20 2e 20 49 6e 73 74 65 61 64 2c 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 6e 65 65 64 20 ..Instead,.functions.which.need.
eac40 74 6f 0a 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 to.......allocate.accept.an.<cod
eac60 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f e><span.class="line">Allocator</
eac80 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 2e 20 4c 69 6b 65 77 69 73 65 span></code>.parameter..Likewise
eaca0 2c 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 ,.data.structures.such.as.......
eacc0 3c 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 41 72 72 <code><span.class="line">std.Arr
eace0 61 79 4c 69 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 63 63 65 70 74 20 61 6e 20 3c ayList</span></code>.accept.an.<
ead00 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 6c 6c 6f 63 61 74 6f code><span.class="line">Allocato
ead20 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 20 69 6e 0a 20 20 20 r</span></code>.parameter.in....
ead40 20 20 20 74 68 65 69 72 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e ...their.initialization.function
ead60 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
ead80 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
eada0 61 73 73 3d 22 66 69 6c 65 22 3e 61 6c 6c 6f 63 61 74 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c ass="file">allocator.zig</cite><
eadc0 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
eade0 73 73 3d 22 6c 69 6e 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
eae00 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
eae20 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
eae40 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;
eae60 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
eae80 6e 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</
eaea0 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 span>.Allocator.=.std.mem.Alloca
eaec0 74 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 3c tor;</span>.<span.class="line"><
eaee0 73 70 61 6e 20 63 6c 61 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>
eaf00 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
eaf20 70 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>.
eaf40 3c 73 70 61 6e 20 63 6c 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="
eaf60 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=
eaf80 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 73 69 6e 67 20 61 6e 20 61 6c 6c 6f 63 61 74 "tok-str">&quot;using.an.allocat
eafa0 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 73 70 61 6e 20 63 or&quot;</span>.{</span>.<span.c
eafc0 6c 61 73 73 3d 22 6c 69 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
eafe0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 75 66 66 65 72 3a 20 5b 3c 73 70 61 6e 20 63 -kw">var</span>.buffer:.[<span.c
eb000 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 lass="tok-number">100</span>]<sp
eb020 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>.=.
eb040 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
eb060 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
eb080 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
eb0a0 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 68 65 61 70 2e 46 69 t</span>.allocator.=.std.heap.Fi
eb0c0 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 61 6d 70 3b 62 75 66 xedBufferAllocator.init(&amp;buf
eb0e0 66 65 72 29 2e 61 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 fer).allocator();</span>.<span.c
eb100 6c 61 73 73 3d 22 6c 69 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
eb120 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 6e -kw">const</span>.result.=.<span
eb140 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 63 6f 6e 63 61 .class="tok-kw">try</span>.conca
eb160 74 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 t(allocator,.<span.class="tok-st
eb180 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 2c 20 3c 73 70 61 6e r">&quot;foo&quot;</span>,.<span
eb1a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 72 26 71 75 6f 74 3b .class="tok-str">&quot;bar&quot;
eb1c0 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
eb1e0 6e 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
eb200 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e </span>.expect(std.mem.eql(<span
eb220 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 .class="tok-type">u8</span>,.<sp
eb240 61 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 62 61 72 26 an.class="tok-str">&quot;foobar&
eb260 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c quot;</span>,.result));</span>.<
eb280 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
eb2a0 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
eb2c0 73 3d 22 6c 69 6e 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
eb2e0 3c 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 6f 6e </span>.<span.class="tok-fn">con
eb300 63 61 74 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 2c cat</span>(allocator:.Allocator,
eb320 20 61 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 .a:.[]<span.class="tok-kw">const
eb340 3c 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
eb360 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 8</span>,.b:.[]<span.class="tok-
eb380 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
eb3a0 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 k-type">u8</span>).![]<span.clas
eb3c0 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 2f 73 70 61 6e 3e 0a s="tok-type">u8</span>.{</span>.
eb3e0 3c 73 70 61 6e 20 63 6c 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
eb400 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 ss="tok-kw">const</span>.result.
eb420 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
eb440 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >.allocator.alloc(<span.class="t
eb460 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 2e 6c 65 6e 20 2b 20 62 2e 6c 65 ok-type">u8</span>,.a.len.+.b.le
eb480 6e 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 n);</span>.<span.class="line">..
eb4a0 20 20 73 74 64 2e 6d 65 6d 2e 63 6f 70 79 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ..std.mem.copy(<span.class="tok-
eb4c0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 2c 20 61 29 3b 3c 2f 73 70 type">u8</span>,.result,.a);</sp
eb4e0 61 6e 3e 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 an>.<span.class="line">....std.m
eb500 65 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 em.copy(<span.class="tok-type">u
eb520 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 5b 61 2e 6c 65 6e 2e 2e 5d 2c 20 62 29 3b 3c 2f 8</span>,.result[a.len..],.b);</
eb540 73 70 61 6e 3e 0a 3c 73 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
eb560 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>.
eb580 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
eb5a0 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>
eb5c0 3c 66 69 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
eb5e0 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
eb600 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 mp><span.class="line">$.<kbd>zig
eb620 20 74 65 73 74 20 61 6c 6c 6f 63 61 74 6f 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e .test.allocator.zig</kbd></span>
eb640 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 .<span.class="line">1/1.test.&qu
eb660 6f 74 3b 75 73 69 6e 67 20 61 6e 20 61 6c 6c 6f 63 61 74 6f 72 26 71 75 6f 74 3b 2e 2e 2e 20 4f ot;using.an.allocator&quot;....O
eb680 4b 3c 2f 73 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 6c 6c 20 K</span>.<span.class="line">All.
eb6a0 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 1.tests.passed.</span>.</samp></
eb6c0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e pre></figure>.......<p>.......In
eb6e0 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 20 6f 66 .the.above.example,.100.bytes.of
eb700 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 74 69 61 .stack.memory.are.used.to.initia
eb720 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 73 3d 22 lize.a.......<code><span.class="
eb740 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 70 61 6e line">FixedBufferAllocator</span
eb760 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 64 20 74 ></code>,.which.is.then.passed.t
eb780 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 65 6e 69 o.a.function........As.a.conveni
eb7a0 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 3c 73 70 ence.there.is.a.global.<code><sp
eb7c0 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 6c 6f 63 an.class="line">FixedBufferAlloc
eb7e0 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 6c 61 62 ator</span></code>.......availab
eb800 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 73 70 61 le.for.quick.tests.at.<code><spa
eb820 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 6c 6f 63 n.class="line">std.testing.alloc
eb840 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 63 68 20 ator</span></code>,.......which.
eb860 77 69 6c 6c 20 61 6c 73 6f 20 64 6f 20 70 65 72 66 6f 72 6d 20 62 61 73 69 63 20 6c 65 61 6b 20 will.also.do.perform.basic.leak.
eb880 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>.
eb8a0 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.
eb8c0 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
eb8e0 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=
eb900 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
eb920 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,.
eb940 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......
eb960 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
eb980 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
eb9a0 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>........
eb9c0 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"><
eb9e0 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
eba00 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
eba20 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-
eba40 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
eba60 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
eba80 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
ebaa0 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:.
ebac0 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>...........
ebae0 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
ebb00 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.
ebb20 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="
ebb40 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>...
ebb60 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
ebb80 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
ebba0 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.......
ebbc0 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
ebbe0 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
ebc00 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
ebc20 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
ebc40 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
ebc60 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
ebc80 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>........
ebca0 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.
ebcc0 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
ebce0 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...........
ebd00 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
ebd20 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
ebd40 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
ebd60 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.
ebd80 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=
ebda0 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
ebdc0 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
ebde0 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......
ebe00 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...
ebe20 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>...
ebe40 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
ebe60 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
ebe80 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.
ebea0 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
ebec0 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
ebee0 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
ebf00 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
ebf20 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
ebf40 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?
ebf60 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.
ebf80 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
ebfa0 74 74 65 72 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 ttern:...............<figure><fi
ebfc0 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
ebfe0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6c 69 5f 61 6c 6c 6f 63 61 74 69 6f 6e 2e 7a 69 67 3c 2f lass="file">cli_allocation.zig</
ec000 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
ec020 61 6e 20 63 6c 61 73 73 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
ec040 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
ec060 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>
ec080 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
ec0a0 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
ec0c0 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
ec0e0 69 6e 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
ec100 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
ec120 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
ec140 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 3e 76 pan>().!<span.class="tok-type">v
ec160 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=
ec180 22 6c 69 6e 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">
ec1a0 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 65 6e 61 20 3d 20 73 74 64 2e 68 65 61 70 2e 41 72 65 6e var</span>.arena.=.std.heap.Aren
ec1c0 61 41 6c 6c 6f 63 61 74 6f 72 2e 69 6e 69 74 28 73 74 64 2e 68 65 61 70 2e 70 61 67 65 5f 61 6c aAllocator.init(std.heap.page_al
ec1e0 6c 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 locator);</span>.<span.class="li
ec200 6e 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 ne">....<span.class="tok-kw">def
ec220 65 72 3c 2f 73 70 61 6e 3e 20 61 72 65 6e 61 2e 64 65 69 6e 69 74 28 29 3b 3c 2f 73 70 61 6e 3e er</span>.arena.deinit();</span>
ec240 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
ec260 6e 20 63 6c 61 73 73 3d 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="
ec280 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d tok-kw">const</span>.allocator.=
ec2a0 20 61 72 65 6e 61 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .arena.allocator();</span>.<span
ec2c0 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
ec2e0 73 3d 22 6c 69 6e 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
ec300 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">const</span>.ptr.=.<span.class
ec320 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 74 6f 72 2e 63 ="tok-kw">try</span>.allocator.c
ec340 72 65 61 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 reate(<span.class="tok-type">i32
ec360 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
ec380 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 61 6e 20 63 6c ne">....std.debug.print(<span.cl
ec3a0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 74 72 3d 7b 2a 7d 5c 6e 26 71 75 ass="tok-str">&quot;ptr={*}\n&qu
ec3c0 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 70 74 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ot;</span>,..{ptr});</span>.<spa
ec3e0 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></
ec400 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
ec420 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
ec440 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
ec460 65 22 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 5f 61 6c 6c 6f e">$.<kbd>zig.build-exe.cli_allo
ec480 63 61 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c cation.zig</kbd></span>.<span.cl
ec4a0 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="
ec4c0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 63 6c 69 5f 61 6c 6c 6f 63 61 74 69 6f 6e 3c 2f 6b line">$.<kbd>./cli_allocation</k
ec4e0 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 bd></span>.<span.class="line">pt
ec500 72 3d 69 33 32 40 37 66 63 33 66 31 65 61 35 30 31 38 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 r=i32@7fc3f1ea5018</span>.</samp
ec520 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 ></pre></figure>...............W
ec540 68 65 6e 20 75 73 69 6e 67 20 74 68 69 73 20 6b 69 6e 64 20 6f 66 20 61 6c 6c 6f 63 61 74 6f 72 hen.using.this.kind.of.allocator
ec560 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 65 64 20 74 6f 20 66 72 65 65 20 61 6e 79 74 68 ,.there.is.no.need.to.free.anyth
ec580 69 6e 67 20 6d 61 6e 75 61 6c 6c 79 2e 20 45 76 65 72 79 74 68 69 6e 67 0a 20 20 20 20 20 20 20 ing.manually..Everything........
ec5a0 20 20 20 20 20 20 20 67 65 74 73 20 66 72 65 65 64 20 61 74 20 6f 6e 63 65 20 77 69 74 68 20 74 .......gets.freed.at.once.with.t
ec5c0 68 65 20 63 61 6c 6c 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 he.call.to.<code><span.class="li
ec5e0 6e 65 22 3e 61 72 65 6e 61 2e 64 65 69 6e 69 74 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ne">arena.deinit()</span></code>
ec600 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ............</li>...........<li>
ec620 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 65 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f ...............Are.the.allocatio
ec640 6e 73 20 70 61 72 74 20 6f 66 20 61 20 63 79 63 6c 69 63 61 6c 20 70 61 74 74 65 72 6e 20 73 75 ns.part.of.a.cyclical.pattern.su
ec660 63 68 20 61 73 20 61 20 76 69 64 65 6f 20 67 61 6d 65 20 6d 61 69 6e 20 6c 6f 6f 70 2c 20 6f 72 ch.as.a.video.game.main.loop,.or
ec680 20 61 20 77 65 62 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 72 76 65 72 20 72 65 71 75 .a.web...............server.requ
ec6a0 65 73 74 20 68 61 6e 64 6c 65 72 3f 20 49 66 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 73 20 est.handler?.If.the.allocations.
ec6c0 63 61 6e 20 61 6c 6c 20 62 65 20 66 72 65 65 64 20 61 74 20 6f 6e 63 65 2c 20 61 74 20 74 68 65 can.all.be.freed.at.once,.at.the
ec6e0 20 65 6e 64 20 6f 66 20 74 68 65 20 63 79 63 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .end.of.the.cycle,..............
ec700 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 6f 6e 63 65 20 74 68 65 20 76 69 64 65 6f 20 67 61 6d 65 .for.example.once.the.video.game
ec720 20 66 72 61 6d 65 20 68 61 73 20 62 65 65 6e 20 66 75 6c 6c 79 20 72 65 6e 64 65 72 65 64 2c 20 .frame.has.been.fully.rendered,.
ec740 6f 72 20 74 68 65 20 77 65 62 20 73 65 72 76 65 72 20 72 65 71 75 65 73 74 20 68 61 73 0a 20 20 or.the.web.server.request.has...
ec760 20 20 20 20 20 20 20 20 20 20 20 20 62 65 65 6e 20 73 65 72 76 65 64 2c 20 74 68 65 6e 20 3c 63 ............been.served,.then.<c
ec780 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 68 65 61 70 2e ode><span.class="line">std.heap.
ec7a0 41 72 65 6e 61 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 73 20 ArenaAllocator</span></code>.is.
ec7c0 61 20 67 72 65 61 74 20 63 61 6e 64 69 64 61 74 65 2e 20 41 73 0a 20 20 20 20 20 20 20 20 20 20 a.great.candidate..As...........
ec7e0 20 20 20 20 64 65 6d 6f 6e 73 74 72 61 74 65 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 ....demonstrated.in.the.previous
ec800 20 62 75 6c 6c 65 74 20 70 6f 69 6e 74 2c 20 74 68 69 73 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 .bullet.point,.this.allows.you.t
ec820 6f 20 66 72 65 65 20 65 6e 74 69 72 65 20 61 72 65 6e 61 73 20 61 74 20 6f 6e 63 65 2e 0a 20 20 o.free.entire.arenas.at.once....
ec840 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 61 6c 73 6f 20 74 68 61 74 20 69 66 20 61 6e ............Note.also.that.if.an
ec860 20 75 70 70 65 72 20 62 6f 75 6e 64 20 6f 66 20 6d 65 6d 6f 72 79 20 63 61 6e 20 62 65 20 65 73 .upper.bound.of.memory.can.be.es
ec880 74 61 62 6c 69 73 68 65 64 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 tablished,.then...............<c
ec8a0 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 68 65 61 70 2e ode><span.class="line">std.heap.
ec8c0 46 69 78 65 64 42 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 FixedBufferAllocator</span></cod
ec8e0 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 61 20 66 75 72 74 68 65 72 20 6f 70 74 69 e>.can.be.used.as.a.further.opti
ec900 6d 69 7a 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 mization............</li>.......
ec920 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 65 20 79 6f 75 20 77 ....<li>...............Are.you.w
ec940 72 69 74 69 6e 67 20 61 20 74 65 73 74 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6d riting.a.test,.and.you.want.to.m
ec960 61 6b 65 20 73 75 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 ake.sure.<code><span.class="line
ec980 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 "><span.class="tok-kw">error</sp
ec9a0 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 an>.OutOfMemory</span></code>...
ec9c0 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 68 61 6e 64 6c 65 64 20 63 6f 72 72 65 63 74 6c 79 ............is.handled.correctly
ec9e0 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 70 61 6e 20 ?.In.this.case,.use.<code><span.
eca00 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 46 61 69 6c 69 6e 67 class="line">std.testing.Failing
eca20 41 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 20 Allocator</span></code>.........
eca40 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>.........
eca60 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 3f 20 49 6e ......Are.you.writing.a.test?.In
eca80 20 74 68 69 73 20 63 61 73 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 .this.case,.use.<code><span.clas
ecaa0 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 3c 2f s="line">std.testing.allocator</
ecac0 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 0a 20 20 span></code>............</li>...
ecae0 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 46 69 6e 61 6c ........<li>...............Final
ecb00 6c 79 2c 20 69 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 61 62 6f 76 65 20 61 70 70 6c 79 2c 20 ly,.if.none.of.the.above.apply,.
ecb20 79 6f 75 20 6e 65 65 64 20 61 20 67 65 6e 65 72 61 6c 20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 you.need.a.general.purpose.alloc
ecb40 61 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5a 69 67 27 73 20 67 65 6e 65 72 61 ator................Zig's.genera
ecb60 6c 20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 20 69 73 20 61 76 61 69 6c 61 62 6c 65 l.purpose.allocator.is.available
ecb80 20 61 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 3c 61 20 68 .as.a.function.that.takes.a.<a.h
ecba0 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 0a 20 20 20 ref="#comptime">comptime</a>....
ecbc0 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 ...........<a.href="#struct">str
ecbe0 75 63 74 3c 2f 61 3e 20 6f 66 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 uct</a>.of.configuration.options
ecc00 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 .and.returns.a.type.............
ecc20 20 20 20 47 65 6e 65 72 61 6c 6c 79 2c 20 79 6f 75 20 77 69 6c 6c 20 73 65 74 20 75 70 20 6f 6e ...Generally,.you.will.set.up.on
ecc40 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 68 e.<code><span.class="line">std.h
ecc60 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 eap.GeneralPurposeAllocator</spa
ecc80 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 79 6f 75 72 20 n></code>.in...............your.
ecca0 6d 61 69 6e 20 66 75 6e 63 74 69 6f 6e 2c 20 61 6e 64 20 74 68 65 6e 20 70 61 73 73 20 69 74 20 main.function,.and.then.pass.it.
eccc0 6f 72 20 73 75 62 2d 61 6c 6c 6f 63 61 74 6f 72 73 20 61 72 6f 75 6e 64 20 74 6f 20 76 61 72 69 or.sub-allocators.around.to.vari
ecce0 6f 75 73 20 70 61 72 74 73 20 6f 66 20 79 6f 75 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ous.parts.of.your...............
ecd00 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 application............</li>....
ecd20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 59 6f 75 20 63 61 .......<li>...............You.ca
ecd40 6e 20 61 6c 73 6f 20 63 6f 6e 73 69 64 65 72 20 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6c 65 6d n.also.consider.<a.href="#Implem
ecd60 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 6e enting-an-Allocator">Implementin
ecd80 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f g.an.Allocator</a>............</
ecda0 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 6f 6c 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 li>.......</ol>...............<h
ecdc0 33 20 69 64 3d 22 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 3c 61 20 68 72 3.id="Where-are-the-bytes"><a.hr
ecde0 65 66 3d 22 23 74 6f 63 2d 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 57 68 ef="#toc-Where-are-the-bytes">Wh
ece00 65 72 65 20 61 72 65 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ere.are.the.bytes?</a>.<a.class=
ece20 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 "hdr".href="#Where-are-the-bytes
ece40 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 74 72 69 6e 67 20 6c ">..</a></h3>........<p>String.l
ece60 69 74 65 72 61 6c 73 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 iterals.such.as.<code><span.clas
ece80 73 3d 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 26 s="line"><span.class="tok-str">&
ecea0 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f quot;foo&quot;</span></span></co
ecec0 64 65 3e 20 61 72 65 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 73 74 61 6e 74 20 64 de>.are.in.the.global.constant.d
ecee0 61 74 61 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 77 68 79 20 69 ata.section........This.is.why.i
ecf00 74 20 69 73 20 61 6e 20 65 72 72 6f 72 20 74 6f 20 70 61 73 73 20 61 20 73 74 72 69 6e 67 20 6c t.is.an.error.to.pass.a.string.l
ecf20 69 74 65 72 61 6c 20 74 6f 20 61 20 6d 75 74 61 62 6c 65 20 73 6c 69 63 65 2c 20 6c 69 6b 65 20 iteral.to.a.mutable.slice,.like.
ecf40 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c this:.......</p>.......<figure><
ecf60 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
ecf80 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 .class="file">test.zig</cite></f
ecfa0 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
ecfc0 3d 22 6c 69 6e 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<
ecfe0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c /span>.<span.class="tok-fn">foo<
ed000 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 2d 74 79 70 /span>(s:.[]<span.class="tok-typ
ed020 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 74 e">u8</span>).<span.class="tok-t
ed040 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.
ed060 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 70 61 6e 3e 0a 3c class="line">...._.=.s;</span>.<
ed080 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
ed0a0 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
ed0c0 73 3d 22 6c 69 6e 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
ed0e0 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">
ed100 26 71 75 6f 74 3b 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 6f 20 6d 75 74 61 62 6c 65 20 &quot;string.literal.to.mutable.
ed120 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
ed140 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 6e 20 63 6c 61 n.class="line">....foo(<span.cla
ed160 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f ss="tok-str">&quot;hello&quot;</
ed180 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
ed1a0 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>
ed1c0 3c 66 69 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
ed1e0 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
ed200 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 mp><span.class="line">$.<kbd>zig
ed220 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .test.test.zig</kbd></span>.<spa
ed240 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 n.class="line"><span.class="t0_1
ed260 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 39 3a 20 3c 2f 73 ">./docgen_tmp/test.zig:6:9:.</s
ed280 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c pan><span.class="t31_1">error:.<
ed2a0 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 70 65 63 74 65 /span><span.class="t0_1">expecte
ed2c0 64 20 74 79 70 65 20 27 5b 5d 75 38 27 2c 20 66 6f 75 6e 64 20 27 2a 63 6f 6e 73 74 20 5b 35 3a d.type.'[]u8',.found.'*const.[5:
ed2e0 30 5d 75 38 27 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 0]u8'</span></span>.<span.class=
ed300 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b "line">....foo(&quot;hello&quot;
ed320 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">...
ed340 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e .....<span.class="t32_1">^</span
ed360 3e 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>.
ed380 20 20 20 20 20 20 3c 70 3e 48 6f 77 65 76 65 72 20 69 66 20 79 6f 75 20 6d 61 6b 65 20 74 68 65 ......<p>However.if.you.make.the
ed3a0 20 73 6c 69 63 65 20 63 6f 6e 73 74 61 6e 74 2c 20 74 68 65 6e 20 69 74 20 77 6f 72 6b 73 3a 3c .slice.constant,.then.it.works:<
ed3c0 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
ed3e0 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"
ed400 3e 73 74 72 6c 69 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 >strlit.zig</cite></figcaption><
ed420 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
ed440 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
ed460 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 3a 20 5b n.class="tok-fn">foo</span>(s:.[
ed480 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 ]<span.class="tok-kw">const</spa
ed4a0 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 n>.<span.class="tok-type">u8</sp
ed4c0 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 an>).<span.class="tok-type">void
ed4e0 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
ed500 6e 65 22 3e 20 20 20 20 5f 20 3d 20 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ne">...._.=.s;</span>.<span.clas
ed520 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
ed540 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">
ed560 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>
ed580 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 72 .<span.class="tok-str">&quot;str
ed5a0 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 6f 20 63 6f 6e 73 74 61 6e 74 20 73 6c 69 63 65 26 71 75 ing.literal.to.constant.slice&qu
ed5c0 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=
ed5e0 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 2d "line">....foo(<span.class="tok-
ed600 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 29 3b 3c str">&quot;hello&quot;</span>);<
ed620 2f 73 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
ed640 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>
ed660 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
ed680 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 3c 73 70 61 6e ell</figcaption><pre><samp><span
ed6a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 74 .class="line">$.<kbd>zig.test.st
ed6c0 72 6c 69 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 rlit.zig</kbd></span>.<span.clas
ed6e0 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 74 72 69 6e 67 20 6c s="line">1/1.test.&quot;string.l
ed700 69 74 65 72 61 6c 20 74 6f 20 63 6f 6e 73 74 61 6e 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 2e 2e iteral.to.constant.slice&quot;..
ed720 2e 20 4f 4b 3c 2f 73 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 ..OK</span>.<span.class="line">A
ed740 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 ll.1.tests.passed.</span>.</samp
ed760 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>......
ed780 20 4a 75 73 74 20 6c 69 6b 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 2c 20 3c 63 6f 64 .Just.like.string.literals,.<cod
ed7a0 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
ed7c0 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 3c 2f 63 ="tok-kw">const</span></span></c
ed7e0 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 77 68 65 6e 20 74 68 65 20 76 61 6c 75 ode>.declarations,.when.the.valu
ed800 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 e.is.known.at.<a.href="#comptime
ed820 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 61 72 65 20 73 74 6f 72 65 64 ">comptime</a>,.......are.stored
ed840 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 73 74 61 6e 74 20 64 61 74 61 20 73 65 63 .in.the.global.constant.data.sec
ed860 74 69 6f 6e 2e 20 41 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d tion..Also.<a.href="#Compile-Tim
ed880 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 54 69 6d 65 20 56 61 72 69 61 62 e-Variables">Compile.Time.Variab
ed8a0 6c 65 73 3c 2f 61 3e 20 61 72 65 20 73 74 6f 72 65 64 0a 20 20 20 20 20 20 69 6e 20 74 68 65 20 les</a>.are.stored.......in.the.
ed8c0 67 6c 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 global.constant.data.section....
ed8e0 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><
ed900 73 70 61 6e 20 63 6c 61 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
ed920 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 3e 20 ok-kw">var</span></span></code>.
ed940 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 declarations.inside.functions.ar
ed960 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 73 74 61 63 6b e.stored.in.the.function's.stack
ed980 20 66 72 61 6d 65 2e 20 4f 6e 63 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2c .frame..Once.a.function.returns,
ed9a0 0a 20 20 20 20 20 20 61 6e 79 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 .......any.<a.href="#Pointers">P
ed9c0 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 74 6f 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 74 68 65 20 ointers</a>.to.variables.in.the.
ed9e0 66 75 6e 63 74 69 6f 6e 27 73 20 73 74 61 63 6b 20 66 72 61 6d 65 20 62 65 63 6f 6d 65 20 69 6e function's.stack.frame.become.in
eda00 76 61 6c 69 64 20 72 65 66 65 72 65 6e 63 65 73 2c 20 61 6e 64 0a 20 20 20 20 20 20 64 65 72 65 valid.references,.and.......dere
eda20 66 65 72 65 6e 63 69 6e 67 20 74 68 65 6d 20 62 65 63 6f 6d 65 73 20 75 6e 63 68 65 63 6b 65 64 ferencing.them.becomes.unchecked
eda40 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 .<a.href="#Undefined-Behavior">U
eda60 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 20 3c 2f 70 ndefined.Behavior</a>........</p
eda80 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
edaa0 61 73 73 3d 22 6c 69 6e 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">
edac0 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 64 65 63 6c 61 72 61 var</span></span></code>.declara
edae0 74 69 6f 6e 73 20 61 74 20 74 68 65 20 74 6f 70 20 6c 65 76 65 6c 20 6f 72 20 69 6e 20 3c 61 20 tions.at.the.top.level.or.in.<a.
edb00 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 20 64 65 63 6c 61 72 href="#struct">struct</a>.declar
edb20 61 74 69 6f 6e 73 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 0a ations.are.stored.in.the.global.
edb40 20 20 20 20 20 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 ......data.section........</p>..
edb60 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6d .....<p>.......The.location.of.m
edb80 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e emory.allocated.with.<code><span
edba0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 3c 2f 73 .class="line">allocator.alloc</s
edbc0 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 61 6e pan></code>.or.......<code><span
edbe0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 3c 2f .class="line">allocator.create</
edc00 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 span></code>.is.determined.by.th
edc20 65 20 61 6c 6c 6f 63 61 74 6f 72 27 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 e.allocator's.implementation....
edc40 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 74 68 72 65 61 64 20 6c ....</p>.......<p>TODO:.thread.l
edc60 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 ocal.variables</p>..............
edc80 20 3c 68 33 20 69 64 3d 22 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 .<h3.id="Implementing-an-Allocat
edca0 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 or"><a.href="#toc-Implementing-a
edcc0 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 61 6e 20 41 6c 6c n-Allocator">Implementing.an.All
edce0 6f 63 61 74 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 ocator</a>.<a.class="hdr".href="
edd00 23 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e c2 a7 3c 2f #Implementing-an-Allocator">..</
edd20 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 a></h3>........<p>Zig.programmer
edd40 73 20 63 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 65 69 72 20 6f 77 6e 20 61 6c 6c 6f 63 61 s.can.implement.their.own.alloca
edd60 74 6f 72 73 20 62 79 20 66 75 6c 66 69 6c 6c 69 6e 67 20 74 68 65 20 41 6c 6c 6f 63 61 74 6f 72 tors.by.fulfilling.the.Allocator
edd80 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 64 6f .interface........In.order.to.do
edda0 20 74 68 69 73 20 6f 6e 65 20 6d 75 73 74 20 72 65 61 64 20 63 61 72 65 66 75 6c 6c 79 20 74 68 .this.one.must.read.carefully.th
eddc0 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 73 74 64 2f e.documentation.comments.in.std/
edde0 6d 65 6d 2e 7a 69 67 20 61 6e 64 0a 20 20 20 20 20 20 74 68 65 6e 20 73 75 70 70 6c 79 20 61 20 mem.zig.and.......then.supply.a.
ede00 3c 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 6c 6c 6f 63 46 6e <code><span.class="line">allocFn
ede20 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e </span></code>.and.a.<code><span
ede40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 69 7a 65 46 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 .class="line">resizeFn</span></c
ede60 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>......
ede80 20 54 68 65 72 65 20 61 72 65 20 6d 61 6e 79 20 65 78 61 6d 70 6c 65 20 61 6c 6c 6f 63 61 74 6f .There.are.many.example.allocato
edea0 72 73 20 74 6f 20 6c 6f 6f 6b 20 61 74 20 66 6f 72 20 69 6e 73 70 69 72 61 74 69 6f 6e 2e 20 4c rs.to.look.at.for.inspiration..L
edec0 6f 6f 6b 20 61 74 20 73 74 64 2f 68 65 61 70 2e 7a 69 67 20 61 6e 64 0a 20 20 20 20 20 20 3c 63 ook.at.std/heap.zig.and.......<c
edee0 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 68 65 61 70 2e ode><span.class="line">std.heap.
edf00 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f GeneralPurposeAllocator</span></
edf20 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 code>........</p>...............
edf40 3c 68 33 20 69 64 3d 22 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 <h3.id="Heap-Allocation-Failure"
edf60 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 ><a.href="#toc-Heap-Allocation-F
edf80 61 69 6c 75 72 65 22 3e 48 65 61 70 20 41 6c 6c 6f 63 61 74 69 6f 6e 20 46 61 69 6c 75 72 65 3c ailure">Heap.Allocation.Failure<
edfa0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 48 65 61 70 2d 41 /a>.<a.class="hdr".href="#Heap-A
edfc0 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a llocation-Failure">..</a></h3>..
edfe0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 61 6e 79 20 70 72 6f 67 72 61 6d 6d 69 6e 67 ......<p>.......Many.programming
ee000 20 6c 61 6e 67 75 61 67 65 73 20 63 68 6f 6f 73 65 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 .languages.choose.to.handle.the.
ee020 70 6f 73 73 69 62 69 6c 69 74 79 20 6f 66 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 possibility.of.heap.allocation.f
ee040 61 69 6c 75 72 65 20 62 79 0a 20 20 20 20 20 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 ailure.by.......unconditionally.
ee060 63 72 61 73 68 69 6e 67 2e 20 42 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 5a 69 67 20 70 72 6f crashing..By.convention,.Zig.pro
ee080 67 72 61 6d 6d 65 72 73 20 64 6f 20 6e 6f 74 20 63 6f 6e 73 69 64 65 72 20 74 68 69 73 20 74 6f grammers.do.not.consider.this.to
ee0a0 20 62 65 20 61 0a 20 20 20 20 20 20 73 61 74 69 73 66 61 63 74 6f 72 79 20 73 6f 6c 75 74 69 6f .be.a.......satisfactory.solutio
ee0c0 6e 2e 20 49 6e 73 74 65 61 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c n..Instead,.<code><span.class="l
ee0e0 69 6e 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 72 72 6f 72 3c ine"><span.class="tok-kw">error<
ee100 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e /span>.OutOfMemory</span></code>
ee120 20 72 65 70 72 65 73 65 6e 74 73 0a 20 20 20 20 20 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f .represents.......heap.allocatio
ee140 6e 20 66 61 69 6c 75 72 65 2c 20 61 6e 64 20 5a 69 67 20 6c 69 62 72 61 72 69 65 73 20 72 65 74 n.failure,.and.Zig.libraries.ret
ee160 75 72 6e 20 74 68 69 73 20 65 72 72 6f 72 20 63 6f 64 65 20 77 68 65 6e 65 76 65 72 20 68 65 61 urn.this.error.code.whenever.hea
ee180 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 66 61 69 6c 75 72 65 20 70 72 65 76 65 p.allocation.......failure.preve
ee1a0 6e 74 65 64 20 61 6e 20 6f 70 65 72 61 74 69 6f 6e 20 66 72 6f 6d 20 63 6f 6d 70 6c 65 74 69 6e nted.an.operation.from.completin
ee1c0 67 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 g.successfully........</p>......
ee1e0 20 3c 70 3e 0a 20 20 20 20 20 20 53 6f 6d 65 20 68 61 76 65 20 61 72 67 75 65 64 20 74 68 61 74 .<p>.......Some.have.argued.that
ee200 20 62 65 63 61 75 73 65 20 73 6f 6d 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 .because.some.operating.systems.
ee220 73 75 63 68 20 61 73 20 4c 69 6e 75 78 20 68 61 76 65 20 6d 65 6d 6f 72 79 20 6f 76 65 72 63 6f such.as.Linux.have.memory.overco
ee240 6d 6d 69 74 20 65 6e 61 62 6c 65 64 20 62 79 0a 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 69 mmit.enabled.by.......default,.i
ee260 74 20 69 73 20 70 6f 69 6e 74 6c 65 73 73 20 74 6f 20 68 61 6e 64 6c 65 20 68 65 61 70 20 61 6c t.is.pointless.to.handle.heap.al
ee280 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 2e 20 54 68 65 72 65 20 61 72 65 20 6d 61 6e 79 location.failure..There.are.many
ee2a0 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 74 68 69 73 20 72 65 61 73 6f 6e 69 6e 67 3a 0a 20 .problems.with.this.reasoning:..
ee2c0 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>...........<
ee2e0 6c 69 3e 4f 6e 6c 79 20 73 6f 6d 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 68 li>Only.some.operating.systems.h
ee300 61 76 65 20 61 6e 20 6f 76 65 72 63 6f 6d 6d 69 74 20 66 65 61 74 75 72 65 2e 0a 20 20 20 20 20 ave.an.overcommit.feature.......
ee320 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........<ul>...................
ee340 3c 6c 69 3e 4c 69 6e 75 78 20 68 61 73 20 69 74 20 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 <li>Linux.has.it.enabled.by.defa
ee360 75 6c 74 2c 20 62 75 74 20 69 74 20 69 73 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 2e 3c 2f 6c 69 ult,.but.it.is.configurable.</li
ee380 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 57 69 6e 64 6f 77 73 20 >...................<li>Windows.
ee3a0 64 6f 65 73 20 6e 6f 74 20 6f 76 65 72 63 6f 6d 6d 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 does.not.overcommit.</li>.......
ee3c0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 6d 62 65 64 64 65 64 20 73 79 73 74 65 6d 73 ............<li>Embedded.systems
ee3e0 20 64 6f 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 3e 0a 20 20 .do.not.have.overcommit.</li>...
ee400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 48 6f 62 62 79 20 6f 70 65 72 61 74 ................<li>Hobby.operat
ee420 69 6e 67 20 73 79 73 74 65 6d 73 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 68 61 76 65 20 ing.systems.may.or.may.not.have.
ee440 6f 76 65 72 63 6f 6d 6d 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c overcommit.</li>...............<
ee460 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c /ul>...........</li>...........<
ee480 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 72 65 61 6c 2d 74 69 6d 65 20 li>...............For.real-time.
ee4a0 73 79 73 74 65 6d 73 2c 20 6e 6f 74 20 6f 6e 6c 79 20 69 73 20 74 68 65 72 65 20 6e 6f 20 6f 76 systems,.not.only.is.there.no.ov
ee4c0 65 72 63 6f 6d 6d 69 74 2c 20 62 75 74 20 74 79 70 69 63 61 6c 6c 79 20 74 68 65 20 6d 61 78 69 ercommit,.but.typically.the.maxi
ee4e0 6d 75 6d 20 61 6d 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 66 20 6d 65 6d 6f mum.amount...............of.memo
ee500 72 79 20 70 65 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 ry.per.application.is.determined
ee520 20 61 68 65 61 64 20 6f 66 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a .ahead.of.time............</li>.
ee540 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 57 68 65 ..........<li>...............Whe
ee560 6e 20 77 72 69 74 69 6e 67 20 61 20 6c 69 62 72 61 72 79 2c 20 6f 6e 65 20 6f 66 20 74 68 65 20 n.writing.a.library,.one.of.the.
ee580 6d 61 69 6e 20 67 6f 61 6c 73 20 69 73 20 63 6f 64 65 20 72 65 75 73 65 2e 20 42 79 20 6d 61 6b main.goals.is.code.reuse..By.mak
ee5a0 69 6e 67 20 63 6f 64 65 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c ing.code.handle...............al
ee5c0 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 20 63 6f 72 72 65 63 74 6c 79 2c 20 61 20 6c 69 location.failure.correctly,.a.li
ee5e0 62 72 61 72 79 20 62 65 63 6f 6d 65 73 20 65 6c 69 67 69 62 6c 65 20 74 6f 20 62 65 20 72 65 75 brary.becomes.eligible.to.be.reu
ee600 73 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 72 65 20 63 6f 6e 74 65 78 sed.in...............more.contex
ee620 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c ts............</li>...........<l
ee640 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 74 68 6f 75 67 68 20 73 6f 6d 65 20 73 i>...............Although.some.s
ee660 6f 66 74 77 61 72 65 20 68 61 73 20 67 72 6f 77 6e 20 74 6f 20 64 65 70 65 6e 64 20 6f 6e 20 6f oftware.has.grown.to.depend.on.o
ee680 76 65 72 63 6f 6d 6d 69 74 20 62 65 69 6e 67 20 65 6e 61 62 6c 65 64 2c 20 69 74 73 20 65 78 69 vercommit.being.enabled,.its.exi
ee6a0 73 74 65 6e 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 74 68 65 20 73 6f 75 72 stence...............is.the.sour
ee6c0 63 65 20 6f 66 20 63 6f 75 6e 74 6c 65 73 73 20 75 73 65 72 20 65 78 70 65 72 69 65 6e 63 65 20 ce.of.countless.user.experience.
ee6e0 64 69 73 61 73 74 65 72 73 2e 20 57 68 65 6e 20 61 20 73 79 73 74 65 6d 20 77 69 74 68 20 6f 76 disasters..When.a.system.with.ov
ee700 65 72 63 6f 6d 6d 69 74 20 65 6e 61 62 6c 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ercommit.enabled,...............
ee720 73 75 63 68 20 61 73 20 4c 69 6e 75 78 20 6f 6e 20 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 such.as.Linux.on.default.setting
ee740 73 2c 20 63 6f 6d 65 73 20 63 6c 6f 73 65 20 74 6f 20 6d 65 6d 6f 72 79 20 65 78 68 61 75 73 74 s,.comes.close.to.memory.exhaust
ee760 69 6f 6e 2c 20 74 68 65 20 73 79 73 74 65 6d 20 6c 6f 63 6b 73 20 75 70 0a 20 20 20 20 20 20 20 ion,.the.system.locks.up........
ee780 20 20 20 20 20 20 20 61 6e 64 20 62 65 63 6f 6d 65 73 20 75 6e 75 73 61 62 6c 65 2e 20 41 74 20 .......and.becomes.unusable..At.
ee7a0 74 68 69 73 20 70 6f 69 6e 74 2c 20 74 68 65 20 4f 4f 4d 20 4b 69 6c 6c 65 72 20 73 65 6c 65 63 this.point,.the.OOM.Killer.selec
ee7c0 74 73 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 6f 20 6b 69 6c 6c 0a 20 20 20 20 20 20 ts.an.application.to.kill.......
ee7e0 20 20 20 20 20 20 20 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72 69 73 74 69 63 73 2e 20 54 68 69 ........based.on.heuristics..Thi
ee800 73 20 6e 6f 6e 2d 64 65 74 65 72 6d 69 6e 69 73 74 69 63 20 64 65 63 69 73 69 6f 6e 20 6f 66 74 s.non-deterministic.decision.oft
ee820 65 6e 20 72 65 73 75 6c 74 73 20 69 6e 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 70 72 6f 63 65 en.results.in.an.important.proce
ee840 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 69 6e 67 20 6b 69 6c 6c 65 64 2c 20 61 ss...............being.killed,.a
ee860 6e 64 20 6f 66 74 65 6e 20 66 61 69 6c 73 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 73 79 73 nd.often.fails.to.return.the.sys
ee880 74 65 6d 20 62 61 63 6b 20 74 6f 20 77 6f 72 6b 69 6e 67 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 tem.back.to.working.order.......
ee8a0 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 0a 20 .....</li>.......</ul>..........
ee8c0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 63 75 72 73 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d .....<h3.id="Recursion"><a.href=
ee8e0 22 23 74 6f 63 2d 52 65 63 75 72 73 69 6f 6e 22 3e 52 65 63 75 72 73 69 6f 6e 3c 2f 61 3e 20 3c "#toc-Recursion">Recursion</a>.<
ee900 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 63 75 72 73 69 6f 6e 22 3e a.class="hdr".href="#Recursion">
ee920 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 52 65 63 ..</a></h3>........<p>.......Rec
ee940 75 72 73 69 6f 6e 20 69 73 20 61 20 66 75 6e 64 61 6d 65 6e 74 61 6c 20 74 6f 6f 6c 20 69 6e 20 ursion.is.a.fundamental.tool.in.
ee960 6d 6f 64 65 6c 69 6e 67 20 73 6f 66 74 77 61 72 65 2e 20 48 6f 77 65 76 65 72 20 69 74 20 68 61 modeling.software..However.it.ha
ee980 73 20 61 6e 20 6f 66 74 65 6e 2d 6f 76 65 72 6c 6f 6f 6b 65 64 20 70 72 6f 62 6c 65 6d 3a 0a 20 s.an.often-overlooked.problem:..
ee9a0 20 20 20 20 20 75 6e 62 6f 75 6e 64 65 64 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e .....unbounded.memory.allocation
ee9c0 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 52 65 63 ........</p>.......<p>.......Rec
ee9e0 75 72 73 69 6f 6e 20 69 73 20 61 6e 20 61 72 65 61 20 6f 66 20 61 63 74 69 76 65 20 65 78 70 65 ursion.is.an.area.of.active.expe
eea00 72 69 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 20 5a 69 67 20 61 6e 64 20 73 6f 20 74 68 65 20 64 6f rimentation.in.Zig.and.so.the.do
eea20 63 75 6d 65 6e 74 61 74 69 6f 6e 20 68 65 72 65 20 69 73 20 6e 6f 74 20 66 69 6e 61 6c 2e 0a 20 cumentation.here.is.not.final...
eea40 20 20 20 20 20 59 6f 75 20 63 61 6e 20 72 65 61 64 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 .....You.can.read.a.......<a.hre
eea60 66 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 77 6e 6c 6f 61 64 2f f="https://ziglang.org/download/
eea80 30 2e 33 2e 30 2f 72 65 6c 65 61 73 65 2d 6e 6f 74 65 73 2e 68 74 6d 6c 23 72 65 63 75 72 73 69 0.3.0/release-notes.html#recursi
eeaa0 6f 6e 22 3e 73 75 6d 6d 61 72 79 20 6f 66 20 72 65 63 75 72 73 69 6f 6e 20 73 74 61 74 75 73 20 on">summary.of.recursion.status.
eeac0 69 6e 20 74 68 65 20 30 2e 33 2e 30 20 72 65 6c 65 61 73 65 20 6e 6f 74 65 73 3c 2f 61 3e 2e 0a in.the.0.3.0.release.notes</a>..
eeae0 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 73 ......</p>.......<p>.......The.s
eeb00 68 6f 72 74 20 73 75 6d 6d 61 72 79 20 69 73 20 74 68 61 74 20 63 75 72 72 65 6e 74 6c 79 20 72 hort.summary.is.that.currently.r
eeb20 65 63 75 72 73 69 6f 6e 20 77 6f 72 6b 73 20 6e 6f 72 6d 61 6c 6c 79 20 61 73 20 79 6f 75 20 77 ecursion.works.normally.as.you.w
eeb40 6f 75 6c 64 20 65 78 70 65 63 74 2e 20 41 6c 74 68 6f 75 67 68 20 5a 69 67 20 63 6f 64 65 0a 20 ould.expect..Although.Zig.code..
eeb60 20 20 20 20 20 69 73 20 6e 6f 74 20 79 65 74 20 70 72 6f 74 65 63 74 65 64 20 66 72 6f 6d 20 73 .....is.not.yet.protected.from.s
eeb80 74 61 63 6b 20 6f 76 65 72 66 6c 6f 77 2c 20 69 74 20 69 73 20 70 6c 61 6e 6e 65 64 20 74 68 61 tack.overflow,.it.is.planned.tha
eeba0 74 20 61 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 5a 69 67 20 77 69 6c 6c 20 70 t.a.future.version.of.Zig.will.p
eebc0 72 6f 76 69 64 65 0a 20 20 20 20 20 20 73 75 63 68 20 70 72 6f 74 65 63 74 69 6f 6e 2c 20 77 69 rovide.......such.protection,.wi
eebe0 74 68 20 73 6f 6d 65 20 64 65 67 72 65 65 20 6f 66 20 63 6f 6f 70 65 72 61 74 69 6f 6e 20 66 72 th.some.degree.of.cooperation.fr
eec00 6f 6d 20 5a 69 67 20 63 6f 64 65 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e om.Zig.code.required........</p>
eec20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4c 69 66 65 74 69 6d 65 2d ...............<h3.id="Lifetime-
eec40 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4c 69 66 and-Ownership"><a.href="#toc-Lif
eec60 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e 4c 69 66 65 74 69 6d 65 20 61 6e etime-and-Ownership">Lifetime.an
eec80 64 20 4f 77 6e 65 72 73 68 69 70 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 d.Ownership</a>.<a.class="hdr".h
eeca0 72 65 66 3d 22 23 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e c2 a7 ref="#Lifetime-and-Ownership">..
eecc0 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 49 74 20 69 73 </a></h3>........<p>.......It.is
eece0 20 74 68 65 20 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 27 73 20 72 65 73 70 6f 6e 73 69 62 69 .the.Zig.programmer's.responsibi
eed00 6c 69 74 79 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 61 20 3c 61 20 68 72 65 66 3d 22 23 lity.to.ensure.that.a.<a.href="#
eed20 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 20 69 73 20 6e 6f 74 0a 20 20 20 Pointers">pointer</a>.is.not....
eed40 20 20 20 61 63 63 65 73 73 65 64 20 77 68 65 6e 20 74 68 65 20 6d 65 6d 6f 72 79 20 70 6f 69 6e ...accessed.when.the.memory.poin
eed60 74 65 64 20 74 6f 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 76 61 69 6c 61 62 6c 65 2e 20 4e ted.to.is.no.longer.available..N
eed80 6f 74 65 20 74 68 61 74 20 61 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 73 6c 69 ote.that.a.<a.href="#Slices">sli
eeda0 63 65 3c 2f 61 3e 0a 20 20 20 20 20 20 69 73 20 61 20 66 6f 72 6d 20 6f 66 20 70 6f 69 6e 74 65 ce</a>.......is.a.form.of.pointe
eedc0 72 2c 20 69 6e 20 74 68 61 74 20 69 74 20 72 65 66 65 72 65 6e 63 65 73 20 6f 74 68 65 72 20 6d r,.in.that.it.references.other.m
eede0 65 6d 6f 72 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 emory........</p>.......<p>.....
eee00 20 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 65 76 65 6e 74 20 62 75 67 73 2c 20 74 68 65 72 ..In.order.to.prevent.bugs,.ther
eee20 65 20 61 72 65 20 73 6f 6d 65 20 68 65 6c 70 66 75 6c 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 74 e.are.some.helpful.conventions.t
eee40 6f 20 66 6f 6c 6c 6f 77 20 77 68 65 6e 20 64 65 61 6c 69 6e 67 20 77 69 74 68 20 70 6f 69 6e 74 o.follow.when.dealing.with.point
eee60 65 72 73 2e 0a 20 20 20 20 20 20 49 6e 20 67 65 6e 65 72 61 6c 2c 20 77 68 65 6e 20 61 20 66 75 ers........In.general,.when.a.fu
eee80 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 20 64 6f nction.returns.a.pointer,.the.do
eeea0 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f cumentation.for.the.function.sho
eeec0 75 6c 64 20 65 78 70 6c 61 69 6e 0a 20 20 20 20 20 20 77 68 6f 20 22 6f 77 6e 73 22 20 74 68 65 uld.explain.......who."owns".the
eeee0 20 70 6f 69 6e 74 65 72 2e 20 54 68 69 73 20 63 6f 6e 63 65 70 74 20 68 65 6c 70 73 20 74 68 65 .pointer..This.concept.helps.the
eef00 20 70 72 6f 67 72 61 6d 6d 65 72 20 64 65 63 69 64 65 20 77 68 65 6e 20 69 74 20 69 73 20 61 70 .programmer.decide.when.it.is.ap
eef20 70 72 6f 70 72 69 61 74 65 2c 20 69 66 20 65 76 65 72 2c 0a 20 20 20 20 20 20 74 6f 20 66 72 65 propriate,.if.ever,.......to.fre
eef40 65 20 74 68 65 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 20 e.the.pointer........</p>.......
eef60 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 75 6e 63 74 <p>.......For.example,.the.funct
eef80 69 6f 6e 27 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6d 61 79 20 73 61 79 20 22 63 61 6c ion's.documentation.may.say."cal
eefa0 6c 65 72 20 6f 77 6e 73 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6d 65 6d 6f 72 79 22 2c 20 69 ler.owns.the.returned.memory",.i
eefc0 6e 20 77 68 69 63 68 20 63 61 73 65 0a 20 20 20 20 20 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 n.which.case.......the.code.that
eefe0 20 63 61 6c 6c 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 20 .calls.the.function.must.have.a.
ef000 70 6c 61 6e 20 66 6f 72 20 77 68 65 6e 20 74 6f 20 66 72 65 65 20 74 68 61 74 20 6d 65 6d 6f 72 plan.for.when.to.free.that.memor
ef020 79 2e 20 50 72 6f 62 61 62 6c 79 20 69 6e 20 74 68 69 73 20 73 69 74 75 61 74 69 6f 6e 2c 0a 20 y..Probably.in.this.situation,..
ef040 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 61 63 63 65 70 74 20 61 6e .....the.function.will.accept.an
ef060 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 6c 6c 6f 63 61 .<code><span.class="line">Alloca
ef080 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 2e 0a 20 20 20 tor</span></code>.parameter.....
ef0a0 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 74 69 6d 65 ...</p>.......<p>.......Sometime
ef0c0 73 20 74 68 65 20 6c 69 66 65 74 69 6d 65 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 6d 61 79 20 s.the.lifetime.of.a.pointer.may.
ef0e0 62 65 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 be.more.complicated..For.example
ef100 2c 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 73 3d 22 6c ,.the.......<code><span.class="l
ef120 69 6e 65 22 3e 73 74 64 2e 41 72 72 61 79 4c 69 73 74 28 54 29 2e 69 74 65 6d 73 3c 2f 73 70 61 ine">std.ArrayList(T).items</spa
ef140 6e 3e 3c 2f 63 6f 64 65 3e 20 73 6c 69 63 65 20 68 61 73 20 61 20 6c 69 66 65 74 69 6d 65 20 74 n></code>.slice.has.a.lifetime.t
ef160 68 61 74 20 72 65 6d 61 69 6e 73 0a 20 20 20 20 20 20 76 61 6c 69 64 20 75 6e 74 69 6c 20 74 68 hat.remains.......valid.until.th
ef180 65 20 6e 65 78 74 20 74 69 6d 65 20 74 68 65 20 6c 69 73 74 20 69 73 20 72 65 73 69 7a 65 64 2c e.next.time.the.list.is.resized,
ef1a0 20 73 75 63 68 20 61 73 20 62 79 20 61 70 70 65 6e 64 69 6e 67 20 6e 65 77 20 65 6c 65 6d 65 6e .such.as.by.appending.new.elemen
ef1c0 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 20 20 54 ts........</p>.......<p>.......T
ef1e0 68 65 20 41 50 49 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 66 75 6e 63 74 69 6f he.API.documentation.for.functio
ef200 6e 73 20 61 6e 64 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 73 68 6f 75 6c 64 20 74 61 ns.and.data.structures.should.ta
ef220 6b 65 20 67 72 65 61 74 20 63 61 72 65 20 74 6f 20 65 78 70 6c 61 69 6e 0a 20 20 20 20 20 20 74 ke.great.care.to.explain.......t
ef240 68 65 20 6f 77 6e 65 72 73 68 69 70 20 61 6e 64 20 6c 69 66 65 74 69 6d 65 20 73 65 6d 61 6e 74 he.ownership.and.lifetime.semant
ef260 69 63 73 20 6f 66 20 70 6f 69 6e 74 65 72 73 2e 20 4f 77 6e 65 72 73 68 69 70 20 64 65 74 65 72 ics.of.pointers..Ownership.deter
ef280 6d 69 6e 65 73 20 77 68 6f 73 65 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 69 74 0a 20 20 mines.whose.responsibility.it...
ef2a0 20 20 20 20 69 73 20 74 6f 20 66 72 65 65 20 74 68 65 20 6d 65 6d 6f 72 79 20 72 65 66 65 72 65 ....is.to.free.the.memory.refere
ef2c0 6e 63 65 64 20 62 79 20 74 68 65 20 70 6f 69 6e 74 65 72 2c 20 61 6e 64 20 6c 69 66 65 74 69 6d nced.by.the.pointer,.and.lifetim
ef2e0 65 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 70 6f 69 6e 74 20 61 74 20 77 68 69 63 68 0a e.determines.the.point.at.which.
ef300 20 20 20 20 20 20 74 68 65 20 6d 65 6d 6f 72 79 20 62 65 63 6f 6d 65 73 20 69 6e 61 63 63 65 73 ......the.memory.becomes.inacces
ef320 73 69 62 6c 65 20 28 6c 65 73 74 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d sible.(lest.<a.href="#Undefined-
ef340 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>
ef360 20 6f 63 63 75 72 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 .occur)........</p>.............
ef380 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c .........<h2.id="Compile-Variabl
ef3a0 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 es"><a.href="#toc-Compile-Variab
ef3c0 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c les">Compile.Variables</a>.<a.cl
ef3e0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c ass="hdr".href="#Compile-Variabl
ef400 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 es">..</a></h2>........<p>......
ef420 20 43 6f 6d 70 69 6c 65 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 61 63 63 65 73 73 69 62 6c .Compile.variables.are.accessibl
ef440 65 20 62 79 20 69 6d 70 6f 72 74 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 e.by.importing.the.<code><span.c
ef460 6c 61 73 73 3d 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
ef480 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 3c 2f 73 70 ">&quot;builtin&quot;</span></sp
ef4a0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 63 6b 61 67 65 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 an></code>.package,.......which.
ef4c0 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6d 61 6b 65 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 the.compiler.makes.available.to.
ef4e0 65 76 65 72 79 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 49 74 20 63 6f 6e 74 61 69 every.Zig.source.file..It.contai
ef500 6e 73 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 73 20 ns.......compile-time.constants.
ef520 73 75 63 68 20 61 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 61 72 67 65 74 2c 20 65 6e 64 69 such.as.the.current.target,.endi
ef540 61 6e 6e 65 73 73 2c 20 61 6e 64 20 72 65 6c 65 61 73 65 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 anness,.and.release.mode........
ef560 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
ef580 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
ef5a0 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 ">test.zig</cite></figcaption><p
ef5c0 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
ef5e0 6e 20 63 6c 61 73 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
ef600 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
ef620 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
ef640 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
ef660 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
ef680 70 61 6e 20 63 6c 61 73 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>.
ef6a0 73 65 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 separator.=.<span.class="tok-kw"
ef6c0 3e 69 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 62 75 >if</span>.(builtin.os.tag.==.bu
ef6e0 69 6c 74 69 6e 2e 4f 73 2e 77 69 6e 64 6f 77 73 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 iltin.Os.windows).<span.class="t
ef700 6f 6b 2d 73 74 72 22 3e 27 5c 5c 27 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-str">'\\'</span>.<span.class=
ef720 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 "tok-kw">else</span>.<span.class
ef740 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 2f 27 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 ="tok-str">'/'</span>;</span></c
ef760 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>...
ef780 20 20 20 20 45 78 61 6d 70 6c 65 20 6f 66 20 77 68 61 74 20 69 73 20 69 6d 70 6f 72 74 65 64 20 ....Example.of.what.is.imported.
ef7a0 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 73 with.<code><span.class="line"><s
ef7c0 70 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<
ef7e0 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
ef800 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c ot;builtin&quot;</span>)</span><
ef820 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 /code>:.......</p>.......<figure
ef840 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
ef860 74 65 3e 40 69 6d 70 6f 72 74 28 22 62 75 69 6c 74 69 6e 22 29 3c 2f 63 69 74 65 3e 3c 2f 66 69 te>@import("builtin")</cite></fi
ef880 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=
ef8a0 22 6c 69 6e 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
ef8c0 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-
ef8e0 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
ef900 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
ef920 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"
ef940 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 5a ><span.class="tok-comment">///.Z
ef960 69 67 20 76 65 72 73 69 6f 6e 2e 20 57 68 65 6e 20 77 72 69 74 69 6e 67 20 63 6f 64 65 20 74 68 ig.version..When.writing.code.th
ef980 61 74 20 73 75 70 70 6f 72 74 73 20 6d 75 6c 74 69 70 6c 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 at.supports.multiple.versions.of
ef9a0 20 5a 69 67 2c 20 70 72 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .Zig,.prefer</span></span>.<span
ef9c0 20 63 6c 61 73 73 3d 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
ef9e0 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 66 65 61 74 75 72 65 20 64 65 74 65 63 74 69 6f 6e 20 28 69 omment">///.feature.detection.(i
efa00 2e 65 2e 20 77 69 74 68 20 60 40 68 61 73 44 65 63 6c 60 20 6f 72 20 60 40 68 61 73 46 69 65 6c .e..with.`@hasDecl`.or.`@hasFiel
efa20 64 60 29 20 6f 76 65 72 20 76 65 72 73 69 6f 6e 20 63 68 65 63 6b 73 2e 3c 2f 73 70 61 6e 3e 3c d`).over.version.checks.</span><
efa40 2f 73 70 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.
efa60 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.
efa80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 69 67 5f class="tok-kw">const</span>.zig_
efaa0 76 65 72 73 69 6f 6e 20 3d 20 73 74 64 2e 53 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 2e 70 61 version.=.std.SemanticVersion.pa
efac0 72 73 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b rse(<span.class="tok-str">&quot;
efae0 30 2e 39 2e 31 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 0.9.1&quot;</span>).<span.class=
efb00 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
efb20 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 2f s="tok-kw">unreachable</span>;</
efb40 73 70 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
efb60 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 65 6d 70 6f 72 61 72 79 lass="tok-comment">///.Temporary
efb80 20 75 6e 74 69 6c 20 73 65 6c 66 2d 68 6f 73 74 65 64 20 69 73 20 66 65 61 74 75 72 65 20 63 6f .until.self-hosted.is.feature.co
efba0 6d 70 6c 65 74 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 mplete.</span></span>.<span.clas
efbc0 73 3d 22 6c 69 6e 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
efbe0 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
efc00 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 69 67 5f 69 73 5f 73 74 61 67 65 32 20 3d 20 3c 73 70 61 6e nst</span>.zig_is_stage2.=.<span
efc20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c .class="tok-null">false</span>;<
efc40 2f 73 70 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.
efc60 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 65 6d 70 6f 72 61 72 class="tok-comment">///.Temporar
efc80 79 20 75 6e 74 69 6c 20 73 65 6c 66 2d 68 6f 73 74 65 64 20 73 75 70 70 6f 72 74 73 20 74 68 65 y.until.self-hosted.supports.the
efca0 20 60 63 70 75 2e 61 72 63 68 60 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e .`cpu.arch`.value.</span></span>
efcc0 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=
efce0 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=
efd00 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 61 67 65 32 5f 61 72 63 "tok-kw">const</span>.stage2_arc
efd20 68 3a 20 73 74 64 2e 54 61 72 67 65 74 2e 43 70 75 2e 41 72 63 68 20 3d 20 2e 78 38 36 5f 36 34 h:.std.Target.Cpu.Arch.=..x86_64
efd40 3b 3c 2f 73 70 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
efd60 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 65 6d 70 6f 72 n.class="tok-comment">///.Tempor
efd80 61 72 79 20 75 6e 74 69 6c 20 73 65 6c 66 2d 68 6f 73 74 65 64 20 63 61 6e 20 63 61 6c 6c 20 60 ary.until.self-hosted.can.call.`
efda0 73 74 64 2e 54 61 72 67 65 74 2e 78 38 36 2e 66 65 61 74 75 72 65 53 65 74 48 61 73 60 20 61 74 std.Target.x86.featureSetHas`.at
efdc0 20 63 6f 6d 70 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 63 .comptime.</span></span>.<span.c
efde0 6c 61 73 73 3d 22 6c 69 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"
efe00 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"
efe20 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 61 67 65 32 5f 78 38 36 5f 63 78 31 36 20 3d 20 >const</span>.stage2_x86_cx16.=.
efe40 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
efe60 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"></
efe80 73 70 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
efea0 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
efec0 6c 61 73 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 75 74 70 75 lass="tok-kw">const</span>.outpu
efee0 74 5f 6d 6f 64 65 20 3d 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 4f 75 74 70 75 74 4d 6f 64 65 2e t_mode.=.std.builtin.OutputMode.
eff00 4f 62 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 22 3e 3c Obj;</span>.<span.class="line"><
eff20 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>.<
eff40 73 70 61 6e 20 63 6c 61 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>
eff60 20 6c 69 6e 6b 5f 6d 6f 64 65 20 3d 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 4c 69 6e 6b 4d 6f 64 .link_mode.=.std.builtin.LinkMod
eff80 65 2e 53 74 61 74 69 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 e.Static;</span>.<span.class="li
effa0 6e 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
effc0 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</
effe0 73 70 61 6e 3e 20 69 73 5f 74 65 73 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>.is_test.=.<span.class="tok
f0000 2d 6e 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 -null">false</span>;</span>.<spa
f0020 6e 20 63 6c 61 73 73 3d 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-
f0040 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-
f0060 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 69 6e 67 6c 65 5f 74 68 72 65 61 64 65 64 kw">const</span>.single_threaded
f0080 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c .=.<span.class="tok-null">false<
f00a0 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
f00c0 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
f00e0 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
f0100 61 6e 3e 20 61 62 69 20 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 41 62 69 2e 67 6e 75 3b 3c 2f 73 an>.abi.=.std.Target.Abi.gnu;</s
f0120 70 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
f0140 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
f0160 61 73 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 70 75 3a 20 73 ass="tok-kw">const</span>.cpu:.s
f0180 74 64 2e 54 61 72 67 65 74 2e 43 70 75 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 td.Target.Cpu.=..{</span>.<span.
f01a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 72 63 68 20 3d 20 2e 78 38 36 5f 36 34 class="line">.....arch.=..x86_64
f01c0 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">....
f01e0 2e 6d 6f 64 65 6c 20 3d 20 26 61 6d 70 3b 73 74 64 2e 54 61 72 67 65 74 2e 78 38 36 2e 63 70 75 .model.=.&amp;std.Target.x86.cpu
f0200 2e 73 6b 79 6c 61 6b 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 .skylake,</span>.<span.class="li
f0220 6e 65 22 3e 20 20 20 20 2e 66 65 61 74 75 72 65 73 20 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 78 ne">.....features.=.std.Target.x
f0240 38 36 2e 66 65 61 74 75 72 65 53 65 74 28 26 61 6d 70 3b 5b 5f 5d 73 74 64 2e 54 61 72 67 65 74 86.featureSet(&amp;[_]std.Target
f0260 2e 78 38 36 2e 46 65 61 74 75 72 65 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .x86.Feature{</span>.<span.class
f0280 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 36 34 62 69 74 26 71 75 ="line">.........@&quot;64bit&qu
f02a0 6f 74 3b 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 ot;,</span>.<span.class="line">.
f02c0 20 20 20 20 20 20 20 2e 61 64 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ........adx,</span>.<span.class=
f02e0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 65 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 "line">.........aes,</span>.<spa
f0300 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 70 n.class="line">.........avx,</sp
f0320 61 6e 3e 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">.........
f0340 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 3e avx2,</span>.<span.class="line">
f0360 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 73 .........bmi,</span>.<span.class
f0380 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 73 ="line">.........bmi2,</span>.<s
f03a0 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 66 6c 75 73 pan.class="line">.........clflus
f03c0 68 6f 70 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 hopt,</span>.<span.class="line">
f03e0 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 6e 20 63 6c 61 73 .........cmov,</span>.<span.clas
f0400 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 63 78 31 36 2c 3c 2f 73 70 61 6e 3e 0a 3c s="line">.........cx16,</span>.<
f0420 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 78 38 2c 3c span.class="line">.........cx8,<
f0440 2f 73 70 61 6e 3e 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">......
f0460 20 20 2e 65 72 6d 73 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 ...ermsb,</span>.<span.class="li
f0480 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 3c 73 70 61 6e 20 ne">.........f16c,</span>.<span.
f04a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 6c 73 65 5f 64 65 70 73 class="line">.........false_deps
f04c0 5f 70 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 _popcnt,</span>.<span.class="lin
f04e0 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 31 35 62 79 74 65 6e 6f 70 2c 3c 2f 73 70 61 e">.........fast_15bytenop,</spa
f0500 6e 3e 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 n>.<span.class="line">.........f
f0520 61 73 74 5f 67 61 74 68 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ast_gather,</span>.<span.class="
f0540 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 66 73 71 72 74 line">.........fast_scalar_fsqrt
f0560 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">....
f0580 20 20 20 20 2e 66 61 73 74 5f 73 68 6c 64 5f 72 6f 74 61 74 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 .....fast_shld_rotate,</span>.<s
f05a0 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 5f 76 pan.class="line">.........fast_v
f05c0 61 72 69 61 62 6c 65 5f 63 72 6f 73 73 6c 61 6e 65 5f 73 68 75 66 66 6c 65 2c 3c 2f 73 70 61 6e ariable_crosslane_shuffle,</span
f05e0 3e 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
f0600 73 74 5f 76 61 72 69 61 62 6c 65 5f 70 65 72 6c 61 6e 65 5f 73 68 75 66 66 6c 65 2c 3c 2f 73 70 st_variable_perlane_shuffle,</sp
f0620 61 6e 3e 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">.........
f0640 66 61 73 74 5f 76 65 63 74 6f 72 5f 66 73 71 72 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 fast_vector_fsqrt,</span>.<span.
f0660 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 6d 61 2c 3c 2f 73 70 61 6e class="line">.........fma,</span
f0680 3e 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 73 >.<span.class="line">.........fs
f06a0 67 73 62 61 73 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 gsbase,</span>.<span.class="line
f06c0 22 3e 20 20 20 20 20 20 20 20 2e 66 78 73 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ">.........fxsr,</span>.<span.cl
f06e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 69 64 69 76 71 5f 74 6f 5f 64 69 76 ass="line">.........idivq_to_div
f0700 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 20 20 20 l,</span>.<span.class="line">...
f0720 20 20 20 20 20 2e 69 6e 76 70 63 69 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ......invpcid,</span>.<span.clas
f0740 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6c 7a 63 6e 74 2c 3c 2f 73 70 61 6e 3e 0a s="line">.........lzcnt,</span>.
f0760 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 6d 61 63 72 <span.class="line">.........macr
f0780 6f 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 ofusion,</span>.<span.class="lin
f07a0 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 63 6c e">.........mmx,</span>.<span.cl
f07c0 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 61 6e ass="line">.........movbe,</span
f07e0 3e 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 6f >.<span.class="line">.........no
f0800 70 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 20 20 pl,</span>.<span.class="line">..
f0820 20 20 20 20 20 20 2e 70 63 6c 6d 75 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .......pclmul,</span>.<span.clas
f0840 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 70 6f 70 63 6e 74 2c 3c 2f 73 70 61 6e 3e s="line">.........popcnt,</span>
f0860 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 72 66 .<span.class="line">.........prf
f0880 63 68 77 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 chw,</span>.<span.class="line">.
f08a0 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 73 ........rdrnd,</span>.<span.clas
f08c0 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 3e s="line">.........rdseed,</span>
f08e0 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 68 .<span.class="line">.........sah
f0900 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 20 f,</span>.<span.class="line">...
f0920 20 20 20 20 20 2e 73 67 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ......sgx,</span>.<span.class="l
f0940 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 6c 6f 77 5f 33 6f 70 73 5f 6c 65 61 2c 3c 2f 73 70 ine">.........slow_3ops_lea,</sp
f0960 61 6e 3e 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">.........
f0980 73 73 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 sse,</span>.<span.class="line">.
f09a0 20 20 20 20 20 20 20 2e 73 73 65 32 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ........sse2,</span>.<span.class
f09c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 65 33 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ="line">.........sse3,</span>.<s
f09e0 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 34 5f 31 pan.class="line">.........sse4_1
f0a00 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">....
f0a20 20 20 20 20 2e 73 73 65 34 5f 32 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .....sse4_2,</span>.<span.class=
f0a40 22 6c 69 6e 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 "line">.........ssse3,</span>.<s
f0a60 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 76 7a 65 72 6f 75 pan.class="line">.........vzerou
f0a80 70 70 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 pper,</span>.<span.class="line">
f0aa0 20 20 20 20 20 20 20 20 2e 78 38 37 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .........x87,</span>.<span.class
f0ac0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 2c 3c 2f 73 70 61 6e 3e 0a 3c ="line">.........xsave,</span>.<
f0ae0 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 65 span.class="line">.........xsave
f0b00 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 3e 20 20 20 c,</span>.<span.class="line">...
f0b20 20 20 20 20 20 2e 78 73 61 76 65 6f 70 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ......xsaveopt,</span>.<span.cla
f0b40 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 73 2c 3c 2f 73 70 61 6e ss="line">.........xsaves,</span
f0b60 3e 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 2c 3c 2f 73 70 >.<span.class="line">....}),</sp
f0b80 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>
f0ba0 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=
f0bc0 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=
f0be0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 20 3d 20 73 74 64 2e 54 "tok-kw">const</span>.os.=.std.T
f0c00 61 72 67 65 74 2e 4f 73 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 arget.Os{</span>.<span.class="li
f0c20 6e 65 22 3e 20 20 20 20 2e 74 61 67 20 3d 20 2e 6c 69 6e 75 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ne">.....tag.=..linux,</span>.<s
f0c40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 76 65 72 73 69 6f 6e 5f 72 61 pan.class="line">.....version_ra
f0c60 6e 67 65 20 3d 20 2e 7b 20 2e 6c 69 6e 75 78 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 nge.=..{..linux.=..{</span>.<spa
f0c80 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 61 6e 67 65 20 3d 20 n.class="line">.........range.=.
f0ca0 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 20 20 .{</span>.<span.class="line">...
f0cc0 20 20 20 20 20 20 20 20 20 2e 6d 69 6e 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ..........min.=..{</span>.<span.
f0ce0 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 2e 6d 61 class="line">.................ma
f0d00 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 35 jor.=.<span.class="tok-number">5
f0d20 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
f0d40 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 20 3c 73 70 61 e">.................minor.=.<spa
f0d60 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 2c 3c n.class="tok-number">10</span>,<
f0d80 2f 73 70 61 6e 3e 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">......
f0da0 20 20 20 20 20 20 20 20 20 20 2e 70 61 74 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ...........patch.=.<span.class="
f0dc0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-number">94</span>,</span>.<s
f0de0 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 2c 3c pan.class="line">............},<
f0e00 2f 73 70 61 6e 3e 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">......
f0e20 20 20 20 20 20 20 2e 6d 61 78 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .......max.=..{</span>.<span.cla
f0e40 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 61 6a 6f 72 ss="line">.................major
f0e60 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 .=.<span.class="tok-number">5</s
f0e80 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">
f0ea0 20 20 20 20 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 .................minor.=.<span.c
f0ec0 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 3c 2f 73 70 lass="tok-number">10</span>,</sp
f0ee0 61 6e 3e 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">.........
f0f00 20 20 20 20 20 20 20 2e 70 61 74 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ........patch.=.<span.class="tok
f0f20 2d 6e 75 6d 62 65 72 22 3e 39 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">94</span>,</span>.<span
f0f40 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 70 .class="line">............},</sp
f0f60 61 6e 3e 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 an>.<span.class="line">........}
f0f80 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">....
f0fa0 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 70 61 6e 20 63 6c 61 .....glibc.=..{</span>.<span.cla
f0fc0 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 6a 6f 72 20 3d 20 3c ss="line">.............major.=.<
f0fe0 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>
f1000 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">....
f1020 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 61 73 73 3d 22 74 6f .........minor.=.<span.class="to
f1040 6b 2d 6e 75 6d 62 65 72 22 3e 33 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-number">33</span>,</span>.<spa
f1060 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 70 61 74 63 n.class="line">.............patc
f1080 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f h.=.<span.class="tok-number">0</
f10a0 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"
f10c0 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 73 73 3d 22 >........},</span>.<span.class="
f10e0 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 6e 20 63 6c 61 73 73 line">....}},</span>.<span.class
f1100 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
f1120 69 6e 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
f1140 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 3c pan>.<span.class="tok-kw">const<
f1160 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 74 7b 3c 2f 73 70 61 /span>.target.=.std.Target{</spa
f1180 6e 3e 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 63 70 75 20 3d n>.<span.class="line">.....cpu.=
f11a0 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 22 6c 69 6e 65 22 3e .cpu,</span>.<span.class="line">
f11c0 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 6e 20 63 6c 61 73 73 .....os.=.os,</span>.<span.class
f11e0 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 73 70 61 6e 3e 0a 3c ="line">.....abi.=.abi,</span>.<
f1200 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
f1220 6e 20 63 6c 61 73 73 3d 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-
f1240 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-
f1260 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 62 6a 65 63 74 5f 66 6f 72 6d 61 74 20 3d kw">const</span>.object_format.=
f1280 20 73 74 64 2e 54 61 72 67 65 74 2e 4f 62 6a 65 63 74 46 6f 72 6d 61 74 2e 65 6c 66 3b 3c 2f 73 .std.Target.ObjectFormat.elf;</s
f12a0 70 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
f12c0 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
f12e0 61 73 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 6f 64 65 20 3d ass="tok-kw">const</span>.mode.=
f1300 20 73 74 64 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 .std.builtin.Mode.Debug;</span>.
f1320 3c 73 70 61 6e 20 63 6c 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="
f1340 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="
f1360 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 6e 6b 5f 6c 69 62 63 20 3d tok-kw">const</span>.link_libc.=
f1380 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 .<span.class="tok-null">false</s
f13a0 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">
f13c0 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>.
f13e0 3c 73 70 61 6e 20 63 6c 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
f1400 3e 20 6c 69 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 >.link_libcpp.=.<span.class="tok
f1420 2d 6e 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 -null">false</span>;</span>.<spa
f1440 6e 20 63 6c 61 73 73 3d 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-
f1460 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-
f1480 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 61 76 65 5f 65 72 72 6f 72 5f 72 65 74 75 kw">const</span>.have_error_retu
f14a0 72 6e 5f 74 72 61 63 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 rn_tracing.=.<span.class="tok-nu
f14c0 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 61 6e 20 63 6c ll">true</span>;</span>.<span.cl
f14e0 61 73 73 3d 22 6c 69 6e 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">
f1500 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">
f1520 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 67 72 69 6e 64 5f 73 75 70 70 6f 72 74 20 3d 20 const</span>.valgrind_support.=.
f1540 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
f1560 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
f1580 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
f15a0 70 61 6e 20 63 6c 61 73 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>.
f15c0 70 6f 73 69 74 69 6f 6e 5f 69 6e 64 65 70 65 6e 64 65 6e 74 5f 63 6f 64 65 20 3d 20 3c 73 70 61 position_independent_code.=.<spa
f15e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b n.class="tok-null">false</span>;
f1600 3c 2f 73 70 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
f1620 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
f1640 20 63 6c 61 73 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 73 .class="tok-kw">const</span>.pos
f1660 69 74 69 6f 6e 5f 69 6e 64 65 70 65 6e 64 65 6e 74 5f 65 78 65 63 75 74 61 62 6c 65 20 3d 20 3c ition_independent_executable.=.<
f1680 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 span.class="tok-null">false</spa
f16a0 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
f16c0 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
f16e0 70 61 6e 20 63 6c 61 73 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>.
f1700 73 74 72 69 70 5f 64 65 62 75 67 5f 69 6e 66 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 strip_debug_info.=.<span.class="
f1720 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 73 70 61 6e 3e 0a 3c tok-null">false</span>;</span>.<
f1740 73 70 61 6e 20 63 6c 61 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
f1760 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
f1780 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 64 65 5f 6d 6f 64 65 6c 20 3d ok-kw">const</span>.code_model.=
f17a0 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 6f 64 65 4d 6f 64 65 6c 2e 64 65 66 61 75 6c 74 3b 3c .std.builtin.CodeModel.default;<
f17c0 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>....
f17e0 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
f1800 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 65 3c 2f 61 3e ref="#Build-Mode">Build.Mode</a>
f1820 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 32 20 69 64 </li>.</ul>...............<h2.id
f1840 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 3d 22 23 74 6f ="Root-Source-File"><a.href="#to
f1860 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 75 72 63 65 20 c-Root-Source-File">Root.Source.
f1880 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 66 3d 22 23 52 File</a>.<a.class="hdr".href="#R
f18a0 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 3e 0a 0a 20 20 oot-Source-File">..</a></h2>....
f18c0 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 6f 74 20 73 6f ....<p>TODO:.explain.how.root.so
f18e0 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 3c 2f 70 3e 0a urce.file.finds.other.files</p>.
f1900 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 2f 70 3e 0a 20 ......<p>TODO:.pub.fn.main</p>..
f1920 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 2f 70 3e 0a 20 .....<p>TODO:.pub.fn.panic</p>..
f1940 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 74 68 20 6c 69 .....<p>TODO:.if.linking.with.li
f1960 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 69 6e 3c 2f 70 bc.you.can.use.export.fn.main</p
f1980 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 70 65 6e 64 65 >.......<p>TODO:.order.independe
f19a0 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 70 3e 0a 20 20 nt.top.level.declarations</p>...
f19c0 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 2f 70 3e 0a 20 ....<p>TODO:.lazy.analysis</p>..
f19e0 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 65 20 7b 20 5f .....<p>TODO:.using.comptime.{._
f1a00 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 20 20 20 20 20 .=.@import().}</p>..............
f1a20 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 61 20 68 72 65 <h2.id="Zig-Build-System"><a.hre
f1a40 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 69 67 20 42 75 f="#toc-Zig-Build-System">Zig.Bu
f1a60 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 72 22 20 68 72 ild.System</a>.<a.class="hdr".hr
f1a80 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 61 3e 3c 2f 68 ef="#Zig-Build-System">..</a></h
f1aa0 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 20 42 75 69 6c 2>........<p>.......The.Zig.Buil
f1ac0 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 6c 61 74 66 6f d.System.provides.a.cross-platfo
f1ae0 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 64 65 63 6c 61 rm,.dependency-free.way.to.decla
f1b00 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 20 74 6f 20 62 re.......the.logic.required.to.b
f1b20 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 79 73 74 65 6d uild.a.project..With.this.system
f1b40 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 61 20 70 72 6f ,.the.logic.to.build.......a.pro
f1b60 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 7a 69 67 20 66 ject.is.written.in.a.build.zig.f
f1b80 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 73 74 65 6d 20 ile,.using.the.Zig.Build.System.
f1ba0 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 6e 66 69 67 75 API.to.......declare.and.configu
f1bc0 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 72 20 74 61 73 re.build.artifacts.and.other.tas
f1be0 6b 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 ks........</p>.......<p>.......S
f1c00 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 75 69 6c 64 20 ome.examples.of.tasks.the.build.
f1c20 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 20 3c 2f 70 3e system.can.help.with:.......</p>
f1c40 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 61 74 69 6e 67 .......<ul>.........<li>Creating
f1c60 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 6e 67 20 74 68 .build.artifacts.by.executing.th
f1c80 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 65 73 0a 20 20 e.Zig.compiler..This.includes...
f1ca0 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 20 63 6f 64 65 ........building.Zig.source.code
f1cc0 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 65 20 63 6f 64 .as.well.as.C.and.C++.source.cod
f1ce0 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 6e 67 20 75 73 e.</li>.........<li>Capturing.us
f1d00 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 73 69 6e 67 20 er-configured.options.and.using.
f1d20 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 20 20 20 20 20 those.options.to.configure......
f1d40 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 20 20 3c 6c 69 .....the.build.</li>.........<li
f1d60 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 69 6f 6e 20 61 >Surfacing.build.configuration.a
f1d80 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 69 6d 65 3c 2f s.<a.href="#comptime">comptime</
f1da0 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 20 20 20 20 20 a>.values.by.providing.a........
f1dc0 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 3d 22 23 69 6d ...file.that.can.be.<a.href="#im
f1de0 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 6f 64 65 2e 3c port">imported</a>.by.Zig.code.<
f1e00 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 69 6c 64 20 61 /li>.........<li>Caching.build.a
f1e20 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 72 69 6c 79 20 rtifacts.to.avoid.unnecessarily.
f1e40 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 20 20 20 3c 6c repeating.steps.</li>.........<l
f1e60 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 20 6f 72 20 73 i>Executing.build.artifacts.or.s
f1e80 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 0a 20 20 20 20 ystem-installed.tools.</li>.....
f1ea0 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 65 72 69 66 79 ....<li>Running.tests.and.verify
f1ec0 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 20 61 20 62 75 ing.the.output.of.executing.a.bu
f1ee0 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 20 20 74 68 65 ild.artifact.matches.........the
f1f00 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 20 20 20 3c 6c .expected.value.</li>.........<l
f1f20 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 64 65 3e 20 6f i>Running.<code>zig.fmt</code>.o
f1f40 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 20 69 74 2e 3c n.a.codebase.or.a.subset.of.it.<
f1f60 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 6b 73 2e 3c 2f /li>.........<li>Custom.tasks.</
f1f80 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 20 20 20 20 li>.......</ul>.......<p>.......
f1fa0 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 6e 20 3c 6b 62 To.use.the.build.system,.run.<kb
f1fc0 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 20 20 20 20 74 d>zig.build.--help</kbd>.......t
f1fe0 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 68 65 6c 70 20 o.see.a.command-line.usage.help.
f2000 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 6a 65 63 74 2d menu..This.will.include.project-
f2020 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 20 77 65 72 65 specific.......options.that.were
f2040 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 73 63 72 69 70 .declared.in.the.build.zig.scrip
f2060 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 3d 22 42 75 69 t........</p>........<h3.id="Bui
f2080 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 66 3d 22 23 74 lding-an-Executable"><a.href="#t
f20a0 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 42 75 69 6c 64 oc-Building-an-Executable">Build
f20c0 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 61 73 73 3d 22 ing.an.Executable</a>.<a.class="
f20e0 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 63 75 74 61 62 hdr".href="#Building-an-Executab
f2100 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 68 69 73 20 3c le">..</a></h3>........<p>This.<
f2120 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 3c 2f 63 6f 64 code.class="file">build.zig</cod
f2140 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 6e 65 72 61 74 e>.file.is.automatically.generat
f2160 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 2d 65 78 65 3c ed.........by.<kbd>zig.init-exe<
f2180 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 69 67 63 61 70 /kbd>.</p>.......<figure><figcap
f21a0 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
f21c0 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 ="file">build.zig</cite></figcap
f21e0 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
f2200 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
f2220 70 61 6e 3e 20 42 75 69 6c 64 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pan>.Builder.=.<span.class="tok-
f2240 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
f2260 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
f2280 70 61 6e 3e 29 2e 62 75 69 6c 64 2e 42 75 69 6c 64 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 pan>).build.Builder;</span>.<spa
f22a0 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
f22c0 73 73 3d 22 6c 69 6e 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
f22e0 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 ub</span>.<span.class="tok-kw">f
f2300 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 75 n</span>.<span.class="tok-fn">bu
f2320 69 6c 64 3c 2f 73 70 61 6e 3e 28 62 3a 20 2a 42 75 69 6c 64 65 72 29 20 3c 73 70 61 6e 20 63 6c ild</span>(b:.*Builder).<span.cl
f2340 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
f2360 61 6e 3e 0a 3c 73 70 61 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
f2380 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
f23a0 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
f23c0 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<
f23e0 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"
f2400 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">/
f2420 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
f2440 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
f2460 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
f2480 73 3d 22 6c 69 6e 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
f24a0 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
f24c0 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
f24e0 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
f2500 70 61 6e 20 63 6c 61 73 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
f2520 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
f2540 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
f2560 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=
f2580 22 6c 69 6e 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">
f25a0 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
f25c0 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
f25e0 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
f2600 73 3d 22 6c 69 6e 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
f2620 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 61 6e 64 61 72 64 20 72 65 6c 65 61 73 65 20 6f 70 74 69 6f mment">//.Standard.release.optio
f2640 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 20 60 7a 69 67 ns.allow.the.person.running.`zig
f2660 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 70 61 6e 3e 0a .build`.to.select</span></span>.
f2680 3c 73 70 61 6e 20 63 6c 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
f26a0 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 20 44 65 62 75 ss="tok-comment">//.between.Debu
f26c0 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 2c 20 61 6e 64 g,.ReleaseSafe,.ReleaseFast,.and
f26e0 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .ReleaseSmall.</span></span>.<sp
f2700 61 6e 20 63 6c 61 73 73 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=
f2720 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 62 2e 73 "tok-kw">const</span>.mode.=.b.s
f2740 74 61 6e 64 61 72 64 52 65 6c 65 61 73 65 4f 70 74 69 6f 6e 73 28 29 3b 3c 2f 73 70 61 6e 3e 0a tandardReleaseOptions();</span>.
f2760 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
f2780 20 63 6c 61 73 73 3d 22 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
f27a0 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 45 ok-kw">const</span>.exe.=.b.addE
f27c0 78 65 63 75 74 61 62 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e xecutable(<span.class="tok-str">
f27e0 26 71 75 6f 74 3b 65 78 61 6d 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 &quot;example&quot;</span>,.<spa
f2800 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 6d 61 69 6e n.class="tok-str">&quot;src/main
f2820 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 61 6e .zig&quot;</span>);</span>.<span
f2840 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 73 65 74 54 61 72 67 65 74 28 .class="line">....exe.setTarget(
f2860 74 61 72 67 65 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 target);</span>.<span.class="lin
f2880 65 22 3e 20 20 20 20 65 78 65 2e 73 65 74 42 75 69 6c 64 4d 6f 64 65 28 6d 6f 64 65 29 3b 3c 2f e">....exe.setBuildMode(mode);</
f28a0 73 70 61 6e 3e 0a 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 span>.<span.class="line">....exe
f28c0 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 6c 61 73 73 3d 22 .install();</span>.<span.class="
f28e0 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"
f2900 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<
f2920 2f 73 70 61 6e 3e 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 /span>.run_cmd.=.exe.run();</spa
f2940 6e 3e 0a 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 63 6d n>.<span.class="line">....run_cm
f2960 64 2e 73 74 65 70 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 d.step.dependOn(b.getInstallStep
f2980 28 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">.
f29a0 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
f29c0 3e 20 28 62 2e 61 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 >.(b.args).|args|.{</span>.<span
f29e0 20 63 6c 61 73 73 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 .class="line">........run_cmd.ad
f2a00 64 41 72 67 73 28 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 dArgs(args);</span>.<span.class=
f2a20 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=
f2a40 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
f2a60 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
f2a80 3c 2f 73 70 61 6e 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 </span>.run_step.=.b.step(<span.
f2aa0 63 6c 61 73 73 3d 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 class="tok-str">&quot;run&quot;<
f2ac0 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 26 71 /span>,.<span.class="tok-str">&q
f2ae0 75 6f 74 3b 52 75 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 uot;Run.the.app&quot;</span>);</
f2b00 73 70 61 6e 3e 0a 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 span>.<span.class="line">....run
f2b20 5f 73 74 65 70 2e 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b 72 75 6e 5f 63 6d 64 2e 73 74 65 70 _step.dependOn(&amp;run_cmd.step
f2b40 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">}</
f2b60 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>.....
f2b80 20 20 0a 0a 20 20 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 ..........<h3.id="Building-a-Lib
f2ba0 72 61 72 79 22 3e 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 rary"><a.href="#toc-Building-a-L
f2bc0 69 62 72 61 72 79 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 ibrary">Building.a.Library</a>.<
f2be0 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 64 69 6e 67 2d 61 2d a.class="hdr".href="#Building-a-
f2c00 4c 69 62 72 61 72 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 Library">..</a></h3>........<p>T
f2c20 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
f2c40 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
f2c60 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
f2c80 2d 6c 69 62 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 -lib</kbd>.</p>.......<figure><f
f2ca0 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.
f2cc0 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 69 74 65 3e 3c 2f 66 class="file">build.zig</cite></f
f2ce0 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
f2d00 3d 22 6c 69 6e 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
f2d20 73 74 3c 2f 73 70 61 6e 3e 20 42 75 69 6c 64 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d st</span>.Builder.=.<span.class=
f2d40 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
f2d60 61 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
f2d80 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 64 2e 42 75 69 6c 64 65 72 3b 3c 2f 73 70 61 6e 3e t;</span>).build.Builder;</span>
f2da0 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
f2dc0 6e 20 63 6c 61 73 73 3d 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-
f2de0 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-
f2e00 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
f2e20 6e 22 3e 62 75 69 6c 64 3c 2f 73 70 61 6e 3e 28 62 3a 20 2a 42 75 69 6c 64 65 72 29 20 3c 73 70 n">build</span>(b:.*Builder).<sp
f2e40 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>.
f2e60 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">....
f2e80 3c 73 70 61 6e 20 63 6c 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
f2ea0 3e 20 6d 6f 64 65 20 3d 20 62 2e 73 74 61 6e 64 61 72 64 52 65 6c 65 61 73 65 4f 70 74 69 6f 6e >.mode.=.b.standardReleaseOption
f2ec0 73 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 s();</span>.<span.class="line">.
f2ee0 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
f2f00 70 61 6e 3e 20 6c 69 62 20 3d 20 62 2e 61 64 64 53 74 61 74 69 63 4c 69 62 72 61 72 79 28 3c 73 pan>.lib.=.b.addStaticLibrary(<s
f2f20 70 61 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 6c pan.class="tok-str">&quot;exampl
f2f40 65 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 e&quot;</span>,.<span.class="tok
f2f60 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 3c 2f -str">&quot;src/main.zig&quot;</
f2f80 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
f2fa0 22 3e 20 20 20 20 6c 69 62 2e 73 65 74 42 75 69 6c 64 4d 6f 64 65 28 6d 6f 64 65 29 3b 3c 2f 73 ">....lib.setBuildMode(mode);</s
f2fc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6c 69 62 2e pan>.<span.class="line">....lib.
f2fe0 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 6c 61 73 73 3d 22 6c install();</span>.<span.class="l
f3000 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">
f3020 20 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
f3040 61 6e 3e 20 6d 61 69 6e 5f 74 65 73 74 73 20 3d 20 62 2e 61 64 64 54 65 73 74 28 3c 73 70 61 6e an>.main_tests.=.b.addTest(<span
f3060 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 6d 61 69 6e 2e .class="tok-str">&quot;src/main.
f3080 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 61 6e 20 zig&quot;</span>);</span>.<span.
f30a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6d 61 69 6e 5f 74 65 73 74 73 2e 73 65 74 42 class="line">....main_tests.setB
f30c0 75 69 6c 64 4d 6f 64 65 28 6d 6f 64 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 uildMode(mode);</span>.<span.cla
f30e0 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
f3100 69 6e 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
f3120 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 70 28 3c 73 nst</span>.test_step.=.b.step(<s
f3140 70 61 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 pan.class="tok-str">&quot;test&q
f3160 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 uot;</span>,.<span.class="tok-st
f3180 72 22 3e 26 71 75 6f 74 3b 52 75 6e 20 6c 69 62 72 61 72 79 20 74 65 73 74 73 26 71 75 6f 74 3b r">&quot;Run.library.tests&quot;
f31a0 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
f31c0 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 6d 70 3b ne">....test_step.dependOn(&amp;
f31e0 6d 61 69 6e 5f 74 65 73 74 73 2e 73 74 65 70 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 main_tests.step);</span>.<span.c
f3200 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
f3220 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=
f3240 22 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 3c 61 20 68 72 65 "Compiling-C-Source-Code"><a.hre
f3260 66 3d 22 23 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 f="#toc-Compiling-C-Source-Code"
f3280 3e 43 6f 6d 70 69 6c 69 6e 67 20 43 20 53 6f 75 72 63 65 20 43 6f 64 65 3c 2f 61 3e 20 3c 61 20 >Compiling.C.Source.Code</a>.<a.
f32a0 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 69 6e 67 2d 43 2d 53 class="hdr".href="#Compiling-C-S
f32c0 6f 75 72 63 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 ource-Code">..</a></h3>........<
f32e0 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 6c 69 62 pre><code><span.class="line">lib
f3300 2e 61 64 64 43 53 6f 75 72 63 65 46 69 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .addCSourceFile(<span.class="tok
f3320 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 72 63 2f 6c 69 62 2e 63 26 71 75 6f 74 3b 3c 2f 73 70 61 -str">&quot;src/lib.c&quot;</spa
f3340 6e 3e 2c 20 26 61 6d 70 3b 5b 5f 5d 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b n>,.&amp;[_][]<span.class="tok-k
f3360 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
f3380 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 -type">u8</span>{</span>.<span.c
f33a0 6c 61 73 73 3d 22 6c 69 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
f33c0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2d 57 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c -str">&quot;-Wall&quot;</span>,<
f33e0 2f 73 70 61 6e 3e 0a 3c 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
f3400 70 61 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 78 74 72 pan.class="tok-str">&quot;-Wextr
f3420 61 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 a&quot;</span>,</span>.<span.cla
f3440 73 73 3d 22 6c 69 6e 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
f3460 74 72 22 3e 26 71 75 6f 74 3b 2d 57 65 72 72 6f 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c tr">&quot;-Werror&quot;</span>,<
f3480 2f 73 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
f34a0 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 0a 20 20 20 20 20 20 pan></code></pre>...............
f34c0 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d .......<h2.id="C"><a.href="#toc-
f34e0 43 22 3e 43 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 C">C</a>.<a.class="hdr".href="#C
f3500 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 41 ">..</a></h2>........<p>.......A
f3520 6c 74 68 6f 75 67 68 20 5a 69 67 20 69 73 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 6f 66 20 43 2c lthough.Zig.is.independent.of.C,
f3540 20 61 6e 64 2c 20 75 6e 6c 69 6b 65 20 6d 6f 73 74 20 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 .and,.unlike.most.other.language
f3560 73 2c 20 64 6f 65 73 20 6e 6f 74 20 64 65 70 65 6e 64 20 6f 6e 20 6c 69 62 63 2c 0a 20 20 20 20 s,.does.not.depend.on.libc,.....
f3580 20 20 5a 69 67 20 61 63 6b 6e 6f 77 6c 65 64 67 65 73 20 74 68 65 20 69 6d 70 6f 72 74 61 6e 63 ..Zig.acknowledges.the.importanc
f35a0 65 20 6f 66 20 69 6e 74 65 72 61 63 74 69 6e 67 20 77 69 74 68 20 65 78 69 73 74 69 6e 67 20 43 e.of.interacting.with.existing.C
f35c0 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 .code........</p>.......<p>.....
f35e0 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 77 20 77 61 79 73 20 74 68 61 74 20 5a 69 67 20 ..There.are.a.few.ways.that.Zig.
f3600 66 61 63 69 6c 69 74 61 74 65 73 20 43 20 69 6e 74 65 72 6f 70 2e 0a 20 20 20 20 20 20 3c 2f 70 facilitates.C.interop........</p
f3620 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 >.......<h3.id="C-Type-Primitive
f3640 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 s"><a.href="#toc-C-Type-Primitiv
f3660 65 73 22 3e 43 20 54 79 70 65 20 50 72 69 6d 69 74 69 76 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 es">C.Type.Primitives</a>.<a.cla
f3680 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 ss="hdr".href="#C-Type-Primitive
f36a0 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>.......
f36c0 54 68 65 73 65 20 68 61 76 65 20 67 75 61 72 61 6e 74 65 65 64 20 43 20 41 42 49 20 63 6f 6d 70 These.have.guaranteed.C.ABI.comp
f36e0 61 74 69 62 69 6c 69 74 79 20 61 6e 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 6c 69 6b 65 20 61 atibility.and.can.be.used.like.a
f3700 6e 79 20 6f 74 68 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 ny.other.type........</p>.......
f3720 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 20 63 <ul>...........<li><code><span.c
f3740 6c 61 73 73 3d 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
f3760 65 22 3e 63 5f 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 e">c_short</span></span></code><
f3780 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
f37a0 6c 61 73 73 3d 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
f37c0 65 22 3e 63 5f 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 e">c_ushort</span></span></code>
f37e0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 </li>...........<li><code><span.
f3800 63 6c 61 73 73 3d 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
f3820 70 65 22 3e 63 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 pe">c_int</span></span></code></
f3840 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c li>...........<li><code><span.cl
f3860 61 73 73 3d 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
f3880 22 3e 63 5f 75 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 6c ">c_uint</span></span></code></l
f38a0 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
f38c0 73 73 3d 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"
f38e0 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 3c 2f 6c 69 >c_long</span></span></code></li
f3900 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
f3920 73 3d 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">
f3940 63 5f 75 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 6c 69 c_ulong</span></span></code></li
f3960 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
f3980 73 3d 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">
f39a0 63 5f 6c 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 c_longlong</span></span></code><
f39c0 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
f39e0 6c 61 73 73 3d 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
f3a00 65 22 3e 63 5f 75 6c 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 e">c_ulonglong</span></span></co
f3a20 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
f3a40 61 6e 20 63 6c 61 73 73 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
f3a60 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
f3a80 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 20 20 20 ></code></li>.......</ul>.......
f3aa0 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 69 6e 74 65 72 6f 70 20 77 69 74 68 20 74 68 65 20 43 20 <p>.......To.interop.with.the.C.
f3ac0 3c 63 6f 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
f3ae0 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
f3b00 6e 3e 3c 2f 63 6f 64 65 3e 20 74 79 70 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 n></code>.type,.use.<code><span.
f3b20 63 6c 61 73 73 3d 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
f3b40 70 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 pe">anyopaque</span></span></cod
f3b60 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 6f e>........</p>.......<p>See.also
f3b80 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 :</p><ul>.<li><a.href="#Primitiv
f3ba0 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 3c 2f 6c 69 e-Types">Primitive.Types</a></li
f3bc0 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 49 6d >.</ul>...............<h3.id="Im
f3be0 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 3c 61 20 68 72 65 66 port-from-C-Header-File"><a.href
f3c00 3d 22 23 74 6f 63 2d 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 ="#toc-Import-from-C-Header-File
f3c20 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 20 ">Import.from.C.Header.File</a>.
f3c40 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 6f 72 74 2d 66 72 6f <a.class="hdr".href="#Import-fro
f3c60 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 m-C-Header-File">..</a></h3>....
f3c80 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
f3ca0 61 73 73 3d 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
f3cc0 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 64 tin">@cImport</span></span></cod
f3ce0 65 3e 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 0a e>.builtin.function.can.be.used.
f3d00 20 20 20 20 20 20 74 6f 20 64 69 72 65 63 74 6c 79 20 69 6d 70 6f 72 74 20 73 79 6d 62 6f 6c 73 ......to.directly.import.symbols
f3d20 20 66 72 6f 6d 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 2e 68 3c 2f 63 6f 64 .from.<code.class="file">.h</cod
f3d40 65 3e 20 66 69 6c 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 e>.files:.......</p>.......<figu
f3d60 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"><
f3d80 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 cite.class="file">test.zig</cite
f3da0 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
f3dc0 6c 61 73 73 3d 22 6c 69 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"
f3de0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >const</span>.c.=.<span.class="t
f3e00 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 28 7b 3c 2f 73 ok-builtin">@cImport</span>({</s
f3e20 70 61 6e 3e 0a 3c 73 70 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
f3e40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 65 65 20 68 74 74 n.class="tok-comment">//.See.htt
f3e60 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 ps://github.com/ziglang/zig/issu
f3e80 65 73 2f 35 31 35 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 es/515</span></span>.<span.class
f3ea0 3d 22 6c 69 6e 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
f3ec0 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
f3ee0 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 54 44 49 4f 5f s="tok-str">&quot;_NO_CRT_STDIO_
f3f00 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 63 6c 61 73 73 INLINE&quot;</span>,.<span.class
f3f20 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 70 61 6e 3e 29 ="tok-str">&quot;1&quot;</span>)
f3f40 3b 3c 2f 73 70 61 6e 3e 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">....
f3f60 3c 73 70 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
f3f80 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"
f3fa0 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 29 3b 3c 2f 73 >&quot;stdio.h&quot;</span>);</s
f3fc0 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 70 61 pan>.<span.class="line">});</spa
f3fe0 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
f4000 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
f4020 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
f4040 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
f4060 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
f4080 61 6e 3e 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 63 an>.<span.class="line">...._.=.c
f40a0 2e 70 72 69 6e 74 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 .printf(<span.class="tok-str">&q
f40c0 75 6f 74 3b 68 65 6c 6c 6f 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e uot;hello\n&quot;</span>);</span
f40e0 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
f4100 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
f4120 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</
f4140 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 figcaption><pre><samp><span.clas
f4160 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 s="line">$.<kbd>zig.build-exe.te
f4180 73 74 2e 7a 69 67 20 2d 6c 63 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c st.zig.-lc</kbd></span>.<span.cl
f41a0 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="
f41c0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e line">$.<kbd>./test</kbd></span>
f41e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 6c 6c 6f 3c 2f 73 70 61 6e 3e .<span.class="line">hello</span>
f4200 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
f4220 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >.......The.<code><span.class="l
f4240 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">@
f4260 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 20 66 75 6e cImport</span></span></code>.fun
f4280 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 20 61 73 20 61 20 70 ction.takes.an.expression.as.a.p
f42a0 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 65 73 73 69 6f 6e 20 arameter........This.expression.
f42c0 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 69 6d 65 20 61 6e 64 is.evaluated.at.compile-time.and
f42e0 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 20 70 72 65 70 72 6f .is.used.to.control.......prepro
f4300 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 6c 75 64 65 20 6d 75 cessor.directives.and.include.mu
f4320 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 3e 2e 68 3c 2f 63 6f ltiple.<code.class="file">.h</co
f4340 64 65 3e 20 66 69 6c 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 de>.files:.......</p>.......<fig
f4360 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">
f4380 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 72 74 20 45 78 70 72 <cite.class="file">@cImport.Expr
f43a0 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 3e 3c 70 72 65 3e 3c ession</cite></figcaption><pre><
f43c0 63 6f 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
f43e0 61 73 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
f4400 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
f4420 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
f4440 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>);<
f4460 2f 73 70 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
f4480 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
f44a0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e ="tok-kw">const</span>.c.=.<span
f44c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 .class="tok-builtin">@cImport</s
f44e0 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 6c 69 6e 65 22 pan>({</span>.<span.class="line"
f4500 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">@
f4520 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 2d cDefine</span>(<span.class="tok-
f4540 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 73 70 61 6e 3e 2c 20 str">&quot;NDEBUG&quot;</span>,.
f4560 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 61 73 74 29 3b 3c 2f builtin.mode.==..ReleaseFast);</
f4580 73 70 61 6e 3e 0a 3c 73 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
f45a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 6f 6d an.class="tok-kw">if</span>.(som
f45c0 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 61 73 73 3d 22 6c 69 ething).{</span>.<span.class="li
f45e0 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 69 ne">........<span.class="tok-bui
f4600 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
f4620 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 47 4e 55 5f 53 4f 55 52 43 45 26 71 75 s="tok-str">&quot;_GNU_SOURCE&qu
f4640 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 73 70 61 6e 20 63 6c ot;</span>,.{});</span>.<span.cl
f4660 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
f4680 61 73 73 3d 22 6c 69 6e 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-
f46a0 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 builtin">@cInclude</span>(<span.
f46c0 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 6c 69 62 2e 68 26 71 class="tok-str">&quot;stdlib.h&q
f46e0 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
f4700 3d 22 6c 69 6e 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"
f4720 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 2f 73 70 61 6e 3e 0a >if</span>.(something).{</span>.
f4740 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
f4760 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 64 65 66 3c 2f 73 70 .class="tok-builtin">@cUndef</sp
f4780 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;
f47a0 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 3b 3c 2f 73 70 61 6e _GNU_SOURCE&quot;</span>);</span
f47c0 3e 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
f47e0 3e 0a 3c 73 70 61 6e 20 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
f4800 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 lass="tok-builtin">@cInclude</sp
f4820 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;
f4840 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 2f 73 70 61 6e 3e 0a soundio.h&quot;</span>);</span>.
f4860 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 70 61 6e 3e 3c 2f 63 <span.class="line">});</span></c
f4880 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 ode></pre></figure>.......<p>See
f48a0 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d .also:</p><ul>.<li><a.href="#cIm
f48c0 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 68 port">@cImport</a></li>.<li><a.h
f48e0 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
f4900 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 i>.<li><a.href="#cDefine">@cDefi
f4920 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 ne</a></li>.<li><a.href="#cUndef
f4940 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="
f4960 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a #import">@import</a></li>.</ul>.
f4980 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 54 72 61 6e 73 6c 61 ...............<h3.id="C-Transla
f49a0 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 2d 54 72 61 6e 73 6c tion-CLI"><a.href="#toc-C-Transl
f49c0 61 74 69 6f 6e 2d 43 4c 49 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 4c 49 3c 2f 61 3e ation-CLI">C.Translation.CLI</a>
f49e0 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 54 72 61 6e 73 6c 61 .<a.class="hdr".href="#C-Transla
f4a00 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 20 20 20 20 5a 69 67 tion-CLI">..</a></h3>........Zig
f4a20 27 73 20 43 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 63 61 70 61 62 69 6c 69 74 79 20 69 73 20 61 's.C.translation.capability.is.a
f4a40 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 43 4c 49 20 74 6f 6f 6c 20 76 69 61 20 3c 6b 62 64 3e vailable.as.a.CLI.tool.via.<kbd>
f4a60 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 2e 0a 20 20 20 20 20 20 49 74 20 zig.translate-c</kbd>........It.
f4a80 72 65 71 75 69 72 65 73 20 61 20 73 69 6e 67 6c 65 20 66 69 6c 65 6e 61 6d 65 20 61 73 20 61 6e requires.a.single.filename.as.an
f4aa0 20 61 72 67 75 6d 65 6e 74 2e 20 49 74 20 6d 61 79 20 61 6c 73 6f 20 74 61 6b 65 20 61 20 73 65 .argument..It.may.also.take.a.se
f4ac0 74 20 6f 66 20 6f 70 74 69 6f 6e 61 6c 20 66 6c 61 67 73 20 74 68 61 74 20 61 72 65 0a 20 20 20 t.of.optional.flags.that.are....
f4ae0 20 20 20 66 6f 72 77 61 72 64 65 64 20 74 6f 20 63 6c 61 6e 67 2e 20 49 74 20 77 72 69 74 65 73 ...forwarded.to.clang..It.writes
f4b00 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 66 69 6c 65 20 74 6f 20 73 74 64 6f 75 74 2e 0a .the.translated.file.to.stdout..
f4b20 20 20 20 20 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 ......<h4.id="Command-line-flags
f4b40 22 3e 3c 61 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 "><a.href="#toc-Command-line-fla
f4b60 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 20 3c 61 20 63 6c gs">Command.line.flags</a>.<a.cl
f4b80 61 73 73 3d 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 ass="hdr".href="#Command-line-fl
f4ba0 61 67 73 22 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 ags">..</a></h4>........<ul>....
f4bc0 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 49 3c 2f 6b 62 64 .....<li>...........<kbd>-I</kbd
f4be0 3e 3a 0a 20 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 >:...........Specify.a.search.di
f4c00 72 65 63 74 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 rectory.for.include.files..May.b
f4c20 65 20 75 73 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 e.used.multiple.times..Equivalen
f4c40 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f t.to...........<a.href="https://
f4c60 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 32 2e 30 2e 30 2f 74 6f 6f 6c 73 2f 63 releases.llvm.org/12.0.0/tools/c
f4c80 6c 61 6e 67 2f 64 6f 63 73 2f 43 6c 61 6e 67 43 6f 6d 6d 61 6e 64 4c 69 6e 65 52 65 66 65 72 65 lang/docs/ClangCommandLineRefere
f4ca0 6e 63 65 2e 68 74 6d 6c 23 63 6d 64 6f 70 74 69 6f 6e 2d 63 6c 61 6e 67 2d 69 2d 64 69 72 22 3e nce.html#cmdoption-clang-i-dir">
f4cc0 0a 20 20 20 20 20 20 20 20 20 20 63 6c 61 6e 67 27 73 20 3c 6b 62 64 3e 2d 49 3c 2f 6b 62 64 3e ...........clang's.<kbd>-I</kbd>
f4ce0 20 66 6c 61 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 .flag</a>..The.current.directory
f4d00 20 69 73 20 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 .is.<em>not</em>.included.by.def
f4d20 61 75 6c 74 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 ault;...........use.<kbd>-I.</kb
f4d40 64 3e 20 74 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 d>.to.include.it..........</li>.
f4d60 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 44 3c 2f ........<li>...........<kbd>-D</
f4d80 6b 62 64 3e 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 kbd>:.Define.a.preprocessor.macr
f4da0 6f 2e 20 45 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 o..Equivalent.to...........<a.hr
f4dc0 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 31 32 ef="https://releases.llvm.org/12
f4de0 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 6d 61 .0.0/tools/clang/docs/ClangComma
f4e00 6e 64 4c 69 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 ndLineReference.html#cmdoption-c
f4e20 6c 61 6e 67 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 lang-d-macro">...........clang's
f4e40 20 3c 6b 62 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 .<kbd>-D</kbd>.flag</a>.........
f4e60 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 3c 6b .</li>.........<li>...........<k
f4e80 62 64 3e 2d 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 bd>-cflags.[flags].--</kbd>:.Pas
f4ea0 73 20 61 72 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 s.arbitrary.additional..........
f4ec0 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e .<a.href="https://releases.llvm.
f4ee0 6f 72 67 2f 31 32 2e 30 2e 30 2f 74 6f 6f 6c 73 2f 63 6c 61 6e 67 2f 64 6f 63 73 2f 43 6c 61 6e org/12.0.0/tools/clang/docs/Clan
f4f00 67 43 6f 6d 6d 61 6e 64 4c 69 6e 65 52 65 66 65 72 65 6e 63 65 2e 68 74 6d 6c 22 3e 63 6f 6d 6d gCommandLineReference.html">comm
f4f20 61 6e 64 20 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 and.line...........flags</a>.to.
f4f40 63 6c 61 6e 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 clang..Note:.the.list.of.flags.m
f4f60 75 73 74 20 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 ust.end.with.<kbd>--</kbd>......
f4f80 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>...........
f4fa0 3c 6b 62 64 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 <kbd>-target</kbd>:.The.<a.href=
f4fc0 22 23 54 61 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 "#Targets">target.triple</a>.for
f4fe0 20 74 68 65 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 .the.translated.Zig.code........
f5000 20 20 20 20 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 ....If.no.target.is.specified,.t
f5020 68 65 20 63 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 he.current.host.target.will.be.u
f5040 73 65 64 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 sed..........</li>.......</ul>..
f5060 20 20 20 20 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 ............<h4.id="Using--targe
f5080 74 2d 61 6e 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 t-and--cflags"><a.href="#toc-Usi
f50a0 6e 67 2d 2d 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 ng--target-and--cflags">Using.-t
f50c0 61 72 67 65 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 arget.and.-cflags</a>.<a.class="
f50e0 68 64 72 22 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 hdr".href="#Using--target-and--c
f5100 66 6c 61 67 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 flags">..</a></h4>........<p>...
f5120 20 20 20 20 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 ......<strong>Important!</strong
f5140 3e 20 57 68 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 >.When.translating.C.code.with.<
f5160 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 2c 0a 20 20 20 20 20 kbd>zig.translate-c</kbd>,......
f5180 20 20 20 79 6f 75 20 3c 73 74 72 6f 6e 67 3e 6d 75 73 74 3c 2f 73 74 72 6f 6e 67 3e 20 75 73 65 ...you.<strong>must</strong>.use
f51a0 20 74 68 65 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 .the.same.<kbd>-target</kbd>.tri
f51c0 70 6c 65 20 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 ple.that.you.will.use.when.compi
f51e0 6c 69 6e 67 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 ling.........the.translated.code
f5200 2e 20 49 6e 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 ..In.addition,.you.<strong>must<
f5220 2f 73 74 72 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 /strong>.ensure.that.the.<kbd>-c
f5240 66 6c 61 67 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 flags</kbd>.used,.........if.any
f5260 2c 20 6d 61 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 ,.match.the.cflags.used.by.code.
f5280 6f 6e 20 74 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 on.the.target.system..Using.the.
f52a0 69 6e 63 6f 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 incorrect.<kbd>-target</kbd>....
f52c0 20 20 20 20 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 .....or.<kbd>-cflags</kbd>.could
f52e0 20 72 65 73 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 .result.in.clang.or.Zig.parse.fa
f5300 69 6c 75 72 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 ilures,.or.subtle.ABI.incompatib
f5320 69 6c 69 74 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 ilities.........when.linking.wit
f5340 68 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 h.C.code........</p>.......<figu
f5360 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 re><figcaption.class="c-cap"><ci
f5380 74 65 20 63 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 te.class="file">varytarget.h</ci
f53a0 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
f53c0 20 63 6c 61 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 .class="line">long.FOO.=.__LONG_
f53e0 4d 41 58 5f 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 MAX__;</span></code></pre></figu
f5400 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c re>.......<figure><figcaption.cl
f5420 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
f5440 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n><pre><samp><span.class="line">
f5460 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 20 2d 74 61 72 67 65 74 20 3c $.<kbd>zig.translate-c.-target.<
f5480 65 6d 3e 74 68 75 6d 62 2d 66 72 65 65 73 74 61 6e 64 69 6e 67 2d 67 6e 75 65 61 62 69 68 66 3c em>thumb-freestanding-gnueabihf<
f54a0 2f 65 6d 3e 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 /em>.varytarget.h|grep.FOO</kbd>
f54c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 75 62 20 65 </span>.<span.class="line">pub.e
f54e0 78 70 6f 72 74 20 76 61 72 20 46 4f 4f 3a 20 63 5f 6c 6f 6e 67 20 3d 20 3c 65 6d 3e 32 31 34 37 xport.var.FOO:.c_long.=.<em>2147
f5500 34 38 33 36 34 37 3c 2f 65 6d 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 483647</em>;</span>.<span.class=
f5520 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 20 2d 74 "line">$.<kbd>zig.translate-c.-t
f5540 61 72 67 65 74 20 3c 65 6d 3e 78 38 36 5f 36 34 2d 6d 61 63 6f 73 2d 67 6e 75 3c 2f 65 6d 3e 20 arget.<em>x86_64-macos-gnu</em>.
f5560 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 3c 2f 73 70 61 varytarget.h|grep.FOO</kbd></spa
f5580 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 75 62 20 65 78 70 6f 72 74 n>.<span.class="line">pub.export
f55a0 20 76 61 72 20 46 4f 4f 3a 20 63 5f 6c 6f 6e 67 20 3d 20 3c 65 6d 3e 39 32 32 33 33 37 32 30 33 .var.FOO:.c_long.=.<em>922337203
f55c0 36 38 35 34 37 37 35 38 30 37 3c 2f 65 6d 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 6854775807</em>;</span>.</samp><
f55e0 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
f5600 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 gcaption.class="c-cap"><cite.cla
f5620 73 73 3d 22 66 69 6c 65 22 3e 76 61 72 79 63 66 6c 61 67 73 2e 68 3c 2f 63 69 74 65 3e 3c 2f 66 ss="file">varycflags.h</cite></f
f5640 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
f5660 3d 22 6c 69 6e 65 22 3e 65 6e 75 6d 20 46 4f 4f 20 7b 20 42 41 52 20 7d 3b 3c 2f 73 70 61 6e 3e ="line">enum.FOO.{.BAR.};</span>
f5680 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 69 6e 74 20 64 6f 5f 73 6f 6d 65 74 .<span.class="line">int.do_somet
f56a0 68 69 6e 67 28 65 6e 75 6d 20 46 4f 4f 20 66 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 hing(enum.FOO.foo);</span></code
f56c0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c ></pre></figure>.......<figure><
f56e0 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
f5700 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 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
f5720 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 class="line">$.<kbd>zig.translat
f5740 65 2d 63 20 76 61 72 79 63 66 6c 61 67 73 2e 68 7c 67 72 65 70 20 2d 42 31 20 64 6f 5f 73 6f 6d e-c.varycflags.h|grep.-B1.do_som
f5760 65 74 68 69 6e 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ething</kbd></span>.<span.class=
f5780 22 6c 69 6e 65 22 3e 70 75 62 20 63 6f 6e 73 74 20 65 6e 75 6d 5f 46 4f 4f 20 3d 20 3c 65 6d 3e "line">pub.const.enum_FOO.=.<em>
f57a0 63 5f 75 69 6e 74 3c 2f 65 6d 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d c_uint</em>;</span>.<span.class=
f57c0 22 6c 69 6e 65 22 3e 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 "line">pub.extern.fn.do_somethin
f57e0 67 28 66 6f 6f 3a 20 65 6e 75 6d 5f 46 4f 4f 29 20 63 5f 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c g(foo:.enum_FOO).c_int;</span>.<
f5800 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 span.class="line">$.<kbd>zig.tra
f5820 6e 73 6c 61 74 65 2d 63 20 3c 65 6d 3e 2d 63 66 6c 61 67 73 20 2d 66 73 68 6f 72 74 2d 65 6e 75 nslate-c.<em>-cflags.-fshort-enu
f5840 6d 73 20 2d 2d 3c 2f 65 6d 3e 20 76 61 72 79 63 66 6c 61 67 73 2e 68 7c 67 72 65 70 20 2d 42 31 ms.--</em>.varycflags.h|grep.-B1
f5860 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .do_something</kbd></span>.<span
f5880 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 75 62 20 63 6f 6e 73 74 20 65 6e 75 6d 5f 46 4f 4f .class="line">pub.const.enum_FOO
f58a0 20 3d 20 3c 65 6d 3e 75 38 3c 2f 65 6d 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .=.<em>u8</em>;</span>.<span.cla
f58c0 73 73 3d 22 6c 69 6e 65 22 3e 70 75 62 20 65 78 74 65 72 6e 20 66 6e 20 64 6f 5f 73 6f 6d 65 74 ss="line">pub.extern.fn.do_somet
f58e0 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 3c 2f 73 70 61 6e hing(foo:.enum_FOO).c_int;</span
f5900 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 0a >.</samp></pre></figure>........
f5920 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 63 49 6d 70 6f 72 74 2d 76 73 2d 74 72 61 6e 73 6c 61 ......<h4.id="cImport-vs-transla
f5940 74 65 2d 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 49 6d 70 6f 72 74 2d 76 73 2d 74 te-c"><a.href="#toc-cImport-vs-t
f5960 72 61 6e 73 6c 61 74 65 2d 63 22 3e 40 63 49 6d 70 6f 72 74 20 76 73 20 74 72 61 6e 73 6c 61 74 ranslate-c">@cImport.vs.translat
f5980 65 2d 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 49 e-c</a>.<a.class="hdr".href="#cI
f59a0 6d 70 6f 72 74 2d 76 73 2d 74 72 61 6e 73 6c 61 74 65 2d 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 mport-vs-translate-c">..</a></h4
f59c0 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 3d 22 6c >........<p><code><span.class="l
f59e0 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">@
f5a00 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 20 61 6e 64 cImport</span></span></code>.and
f5a20 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 20 75 73 65 20 .<kbd>zig.translate-c</kbd>.use.
f5a40 74 68 65 20 73 61 6d 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 the.same.underlying.......C.tran
f5a60 73 6c 61 74 69 6f 6e 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 slation.functionality,.so.on.a.t
f5a80 65 63 68 6e 69 63 61 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 echnical.level.they.are.equivale
f5aa0 6e 74 2e 20 49 6e 20 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 nt..In.practice,.......<code><sp
f5ac0 61 6e 20 63 6c 61 73 73 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
f5ae0 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 61 6e 3e -builtin">@cImport</span></span>
f5b00 3c 2f 63 6f 64 65 3e 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 </code>.is.useful.as.a.way.to.qu
f5b20 69 63 6b 6c 79 20 61 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 ickly.and.easily.access.numeric.
f5b40 63 6f 6e 73 74 61 6e 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 constants,.typedefs,.......and.r
f5b60 65 63 6f 72 64 20 74 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 ecord.types.without.needing.any.
f5b80 65 78 74 72 61 20 73 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 extra.setup..If.you.need.to.pass
f5ba0 20 3c 61 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 .<a.href="#Using--target-and--cf
f5bc0 6c 61 67 73 22 3e 63 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 lags">cflags</a>.......to.clang,
f5be0 20 6f 72 20 69 66 20 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 .or.if.you.would.like.to.edit.th
f5c00 65 20 74 72 61 6e 73 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 e.translated.code,.it.is.recomme
f5c20 6e 64 65 64 20 74 6f 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 nded.to.use.......<kbd>zig.trans
f5c40 6c 61 74 65 2d 63 3c 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 late-c</kbd>.and.save.the.result
f5c60 73 20 74 6f 20 61 20 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 s.to.a.file..Common.reasons.for.
f5c80 65 64 69 74 69 6e 67 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 editing.......the.generated.code
f5ca0 20 69 6e 63 6c 75 64 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 .include:.changing.<code><span.c
f5cc0 6c 61 73 73 3d 22 6c 69 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"
f5ce0 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 20 70 61 >anytype</span></span></code>.pa
f5d00 72 61 6d 65 74 65 72 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 rameters.in.function-like.macros
f5d20 20 74 6f 20 6d 6f 72 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 .to.more.......specific.types;.c
f5d40 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 69 6e 65 22 hanging.<code><span.class="line"
f5d60 3e 5b 2a 63 5d 54 3c 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 >[*c]T</span></code>.pointers.to
f5d80 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 5d 54 3c 2f .<code><span.class="line">[*]T</
f5da0 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 61 span></code>.or.......<code><spa
f5dc0 6e 20 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 20 n.class="line">*T</span></code>.
f5de0 70 6f 69 6e 74 65 72 73 20 66 6f 72 20 69 6d 70 72 6f 76 65 64 20 74 79 70 65 20 73 61 66 65 74 pointers.for.improved.type.safet
f5e00 79 3b 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d y;.and.......<a.href="#setRuntim
f5e20 65 53 61 66 65 74 79 22 3e 65 6e 61 62 6c 69 6e 67 20 6f 72 20 64 69 73 61 62 6c 69 6e 67 20 72 eSafety">enabling.or.disabling.r
f5e40 75 6e 74 69 6d 65 20 73 61 66 65 74 79 3c 2f 61 3e 20 77 69 74 68 69 6e 20 73 70 65 63 69 66 69 untime.safety</a>.within.specifi
f5e60 63 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 c.functions........</p>.........
f5e80 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
f5ea0 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 6c 69 .href="#Targets">Targets</a></li
f5ec0 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 >.<li><a.href="#C-Type-Primitive
f5ee0 73 22 3e 43 20 54 79 70 65 20 50 72 69 6d 69 74 69 76 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c s">C.Type.Primitives</a></li>.<l
f5f00 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 65 72 73 3c 2f i><a.href="#Pointers">Pointers</
f5f20 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 69 6e 74 65 72 73 a></li>.<li><a.href="#C-Pointers
f5f40 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 ">C.Pointers</a></li>.<li><a.hre
f5f60 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 49 f="#Import-from-C-Header-File">I
f5f80 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 6c 69 mport.from.C.Header.File</a></li
f5fa0 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
f5fc0 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f ude</a></li>.<li><a.href="#cImpo
f5fe0 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 rt">@cImport</a></li>.<li><a.hre
f6000 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 40 73 65 74 52 75 6e 74 69 6d f="#setRuntimeSafety">@setRuntim
f6020 65 53 61 66 65 74 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 eSafety</a></li>.</ul>..........
f6040 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 61 63 68 69 .....<h3.id="C-Translation-Cachi
f6060 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d ng"><a.href="#toc-C-Translation-
f6080 43 61 63 68 69 6e 67 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 61 63 68 69 6e 67 3c 2f Caching">C.Translation.Caching</
f60a0 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 54 72 61 6e 73 a>.<a.class="hdr".href="#C-Trans
f60c0 6c 61 74 69 6f 6e 2d 43 61 63 68 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 lation-Caching">..</a></h3>.....
f60e0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 43 20 74 72 61 6e 73 6c 61 74 69 6f 6e ...<p>.........The.C.translation
f6100 20 66 65 61 74 75 72 65 20 28 77 68 65 74 68 65 72 20 75 73 65 64 20 76 69 61 20 3c 6b 62 64 3e .feature.(whether.used.via.<kbd>
f6120 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 20 6f 72 0a 20 20 20 20 20 20 20 zig.translate-c</kbd>.or........
f6140 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.
f6160 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
f6180 61 6e 3e 3c 2f 73 70 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 an></span></code>).integrates.wi
f61a0 74 68 20 74 68 65 20 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 th.the.Zig.caching.system..Subse
f61c0 71 75 65 6e 74 20 72 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 quent.runs.with.........the.same
f61e0 20 73 6f 75 72 63 65 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 .source.file,.target,.and.cflags
f6200 20 77 69 6c 6c 20 75 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 .will.use.the.cache.instead.of.r
f6220 65 70 65 61 74 65 64 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 epeatedly.translating.........th
f6240 65 20 73 61 6d 65 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 e.same.code........</p>.......<p
f6260 3e 0a 20 20 20 20 20 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 >.........To.see.where.the.cache
f6280 64 20 66 69 6c 65 73 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 d.files.are.stored.when.compilin
f62a0 67 20 63 6f 64 65 20 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 g.code.that.uses.<code><span.cla
f62c0 73 73 3d 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
f62e0 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 64 65 in">@cImport</span></span></code
f6300 3e 2c 0a 20 20 20 20 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 >,.........use.the.<kbd>--verbos
f6320 65 2d 63 69 6d 70 6f 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 e-cimport</kbd>.flag:.......</p>
f6340 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
f6360 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 76 65 ="zig-cap"><cite.class="file">ve
f6380 72 62 6f 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 rbose.zig</cite></figcaption><pr
f63a0 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
f63c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d .class="tok-kw">const</span>.c.=
f63e0 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 70 .<span.class="tok-builtin">@cImp
f6400 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 3d ort</span>({</span>.<span.class=
f6420 22 6c 69 6e 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
f6440 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 73 tin">@cDefine</span>(<span.class
f6460 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 54 44 49 4f 5f 49 ="tok-str">&quot;_NO_CRT_STDIO_I
f6480 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 63 6c 61 73 73 3d NLINE&quot;</span>,.<span.class=
f64a0 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 70 61 6e 3e 29 3b "tok-str">&quot;1&quot;</span>);
f64c0 3c 2f 73 70 61 6e 3e 0a 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">....<
f64e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 span.class="tok-builtin">@cInclu
f6500 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 3e de</span>(<span.class="tok-str">
f6520 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 29 3b 3c 2f 73 70 &quot;stdio.h&quot;</span>);</sp
f6540 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 70 61 6e an>.<span.class="line">});</span
f6560 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
f6580 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
f65a0 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=
f65c0 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
f65e0 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
f6600 6e 3e 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 63 3b n>.<span.class="line">...._.=.c;
f6620 3c 2f 73 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
f6640 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
f6660 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
f6680 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 3c 73 70 61 hell</figcaption><pre><samp><spa
f66a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d n.class="line">$.<kbd>zig.build-
f66c0 65 78 65 20 76 65 72 62 6f 73 65 2e 7a 69 67 20 2d 6c 63 20 2d 2d 76 65 72 62 6f 73 65 2d 63 69 exe.verbose.zig.-lc.--verbose-ci
f66e0 6d 70 6f 72 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 mport</kbd></span>.<span.class="
f6700 6c 69 6e 65 22 3e 69 6e 66 6f 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 29 3a 20 43 20 69 6d 70 6f 72 line">info(compilation):.C.impor
f6720 74 20 73 6f 75 72 63 65 3a 20 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f t.source:.docgen_tmp/zig-cache/o
f6740 2f 31 66 31 61 64 36 33 63 64 63 63 61 61 64 32 30 35 38 32 32 35 62 64 63 63 65 34 33 38 34 35 /1f1ad63cdccaad2058225bdcce43845
f6760 62 2f 63 69 6d 70 6f 72 74 2e 68 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 b/cimport.h</span>.<span.class="
f6780 6c 69 6e 65 22 3e 69 6e 66 6f 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 29 3a 20 43 20 69 6d 70 6f 72 line">info(compilation):.C.impor
f67a0 74 20 2e 64 20 66 69 6c 65 3a 20 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f t..d.file:.docgen_tmp/zig-cache/
f67c0 6f 2f 31 66 31 61 64 36 33 63 64 63 63 61 61 64 32 30 35 38 32 32 35 62 64 63 63 65 34 33 38 34 o/1f1ad63cdccaad2058225bdcce4384
f67e0 35 62 2f 63 69 6d 70 6f 72 74 2e 68 2e 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 5b/cimport.h.d</span>.<span.clas
f6800 73 3d 22 6c 69 6e 65 22 3e 69 6e 66 6f 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 29 3a 20 43 20 69 6d s="line">info(compilation):.C.im
f6820 70 6f 72 74 20 6f 75 74 70 75 74 3a 20 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 port.output:.docgen_tmp/zig-cach
f6840 65 2f 6f 2f 37 65 34 31 36 62 62 31 34 62 66 39 66 34 66 62 61 64 65 32 30 66 63 34 34 63 33 63 e/o/7e416bb14bf9f4fbade20fc44c3c
f6860 31 38 35 65 2f 63 69 6d 70 6f 72 74 2e 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 185e/cimport.zig</span>.<span.cl
f6880 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="
f68a0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 76 65 72 62 6f 73 65 3c 2f 6b 62 64 3e 3c 2f 73 70 line">$.<kbd>./verbose</kbd></sp
f68c0 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>......
f68e0 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 22 3e .<p>.........<code.class="file">
f6900 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 66 69 cimport.h</code>.contains.the.fi
f6920 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 72 6f le.to.translate.(constructed.fro
f6940 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 20 63 m.calls.to.........<code><span.c
f6960 6c 61 73 73 3d 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
f6980 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 2f 63 ltin">@cInclude</span></span></c
f69a0 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"><
f69c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e span.class="tok-builtin">@cDefin
f69e0 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 6f 64 e</span></span></code>,.and.<cod
f6a00 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
f6a20 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 2f 73 ="tok-builtin">@cUndef</span></s
f6a40 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 61 73 pan></code>),.........<code.clas
f6a60 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 20 74 s="file">cimport.h.d</code>.is.t
f6a80 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 61 6e he.list.of.file.dependencies,.an
f6aa0 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 69 6d d.........<code.class="file">cim
f6ac0 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 72 61 port.zig</code>.contains.the.tra
f6ae0 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 20 20 nslated.output........</p>......
f6b00 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
f6b20 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 49 f="#Import-from-C-Header-File">I
f6b40 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 6c 69 mport.from.C.Header.File</a></li
f6b60 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 43 4c >.<li><a.href="#C-Translation-CL
f6b80 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 3c 6c I">C.Translation.CLI</a></li>.<l
f6ba0 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 3c i><a.href="#cInclude">@cInclude<
f6bc0 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e /a></li>.<li><a.href="#cImport">
f6be0 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 20 0a @cImport</a></li>.</ul>.........
f6c00 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 75 72 ......<h3.id="Translation-failur
f6c20 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 66 61 es"><a.href="#toc-Translation-fa
f6c40 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 61 3e ilures">Translation.failures</a>
f6c60 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 74 69 .<a.class="hdr".href="#Translati
f6c80 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 20 20 on-failures">..</a></h3>........
f6ca0 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 63 61 <p>.........Some.C.constructs.ca
f6cc0 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 72 20 nnot.be.translated.to.Zig.-.for.
f6ce0 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 20 20 example,.<em>goto</em>,.........
f6d00 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 6b 65 structs.with.bitfields,.and.toke
f6d20 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 3c 65 n-pasting.macros..Zig.employs.<e
f6d40 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 6c 61 m>demotion</em>.to.allow.transla
f6d60 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 65 20 tion.........to.continue.in.the.
f6d80 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 69 65 face.of.non-translatable.entitie
f6da0 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 20 20 s........</p>.......<p>.........
f6dc0 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 69 65 Demotion.comes.in.three.varietie
f6de0 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 61 3e s.-.<a.href="#opaque">opaque</a>
f6e00 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 20 3c ,.<em>extern</em>,.and.........<
f6e20 63 6f 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
f6e40 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 72 3c ass="tok-builtin">@compileError<
f6e60 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 20 43 /span></span></code>...........C
f6e80 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 74 20 .structs.and.unions.that.cannot.
f6ea0 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 65 20 be.translated.correctly.will.be.
f6ec0 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 73 3d translated.as.<code><span.class=
f6ee0 22 6c 69 6e 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 61 71 "line"><span.class="tok-kw">opaq
f6f00 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 20 20 ue</span>{}</span></code>.......
f6f20 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 75 65 ...Functions.that.contain.opaque
f6f40 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 20 63 .types.or.code.constructs.that.c
f6f60 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 6d 6f annot.be.translated.will.be.demo
f6f80 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 73 73 ted.........to.<code><span.class
f6fa0 3d 22 6c 69 6e 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 ="line"><span.class="tok-kw">ext
f6fc0 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 72 61 ern</span></span></code>.declara
f6fe0 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 73 6c tions...........Thus,.non-transl
f7000 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 20 61 atable.types.can.still.be.used.a
f7020 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 6c 65 s.pointers,.and.non-translatable
f7040 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 65 64 .functions.........can.be.called
f7060 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 65 20 .so.long.as.the.linker.is.aware.
f7080 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 20 20 of.the.compiled.function........
f70a0 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 73 70 </p>.......<p>.........<code><sp
f70c0 61 6e 20 63 6c 61 73 73 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
f70e0 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 3c 2f -builtin">@compileError</span></
f7100 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 6c 65 span></code>.is.used.when.top-le
f7120 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 6c 65 vel.definitions.(global.variable
f7140 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 2c 20 s,.........function.prototypes,.
f7160 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 72 20 macros).cannot.be.translated.or.
f7180 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 6e 61 demoted..Since.Zig.uses.lazy.ana
f71a0 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 63 6c lysis.for.........top-level.decl
f71c0 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 69 65 arations,.untranslatable.entitie
f71e0 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 6f 72 s.will.not.cause.a.compile.error
f7200 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 6f 75 .in.your.code.unless.........you
f7220 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 0a 20 .actually.use.them........</p>..
f7240 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
f7260 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a .href="#opaque">opaque</a></li>.
f7280 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 61 3e <li><a.href="#extern">extern</a>
f72a0 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 6f 72 </li>.<li><a.href="#compileError
f72c0 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 0a 0a ">@compileError</a></li>.</ul>..
f72e0 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 3e 3c .............<h3.id="C-Macros"><
f7300 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 73 3c a.href="#toc-C-Macros">C.Macros<
f7320 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 63 72 /a>.<a.class="hdr".href="#C-Macr
f7340 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 20 20 os">..</a></h3>........<p>......
f7360 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 65 66 ...C.Translation.makes.a.best-ef
f7380 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 74 69 fort.attempt.to.translate.functi
f73a0 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 0a 20 on-like.macros.into.equivalent..
f73c0 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 6d 61 .......Zig.functions..Since.C.ma
f73e0 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 65 78 cros.operate.at.the.level.of.lex
f7400 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 20 20 ical.tokens,.not.all.C.macros...
f7420 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 2e 20 ......can.be.translated.to.Zig..
f7440 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 65 64 Macros.that.cannot.be.translated
f7460 20 77 69 6c 6c 20 62 65 20 62 65 20 64 65 6d 6f 74 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 3c .will.be.be.demoted.to.........<
f7480 63 6f 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
f74a0 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 72 3c ass="tok-builtin">@compileError<
f74c0 2f 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 /span></span></code>..Note.that.
f74e0 43 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 C.code.which.<em>uses</em>.macro
f7500 73 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 s.will.be.........translated.wit
f7520 68 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 hout.any.additional.issues.(sinc
f7540 65 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 e.Zig.operates.on.the.pre-proces
f7560 73 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 sed.source.........with.macros.e
f7580 78 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 xpanded)..It.is.merely.the.macro
f75a0 73 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 s.themselves.which.may.not.be.tr
f75c0 61 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 anslatable.to.........Zig.......
f75e0 20 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 .</p>.......<p>Consider.the.foll
f7600 6f 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 owing.example:</p>.......<figure
f7620 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
f7640 20 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 .class="file">macro.c</cite></fi
f7660 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=
f7680 22 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 "line">#define.MAKELOCAL(NAME,.I
f76a0 4e 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 NIT).int.NAME.=.INIT</span>.<spa
f76c0 6e 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 n.class="line">int.foo(void).{</
f76e0 73 70 61 6e 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 span>.<span.class="line">...MAKE
f7700 4c 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 LOCAL(a,.1);</span>.<span.class=
f7720 22 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 "line">...MAKELOCAL(b,.2);</span
f7740 3e 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 >.<span.class="line">...return.a
f7760 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 3e .+.b;</span>.<span.class="line">
f7780 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 0a 20 }</span></code></pre></figure>..
f77a0 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="
f77c0 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
f77e0 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 e><samp><span.class="line">$.<kb
f7800 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 20 6d 61 63 72 6f 2e 63 20 3e 20 6d 61 63 72 d>zig.translate-c.macro.c.>.macr
f7820 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e o.zig</kbd></span>.</samp></pre>
f7840 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 </figure>.......<figure><figcapt
f7860 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=
f7880 22 66 69 6c 65 22 3e 6d 61 63 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 "file">macro.zig</cite></figcapt
f78a0 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
f78c0 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
f78e0 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 70 6f 72 74 3c 2f 73 >.<span.class="tok-kw">export</s
f7900 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
f7920 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
f7940 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 63 5f 69 an>().<span.class="tok-type">c_i
f7960 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 22 nt</span>.{</span>.<span.class="
f7980 6c 69 6e 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
f79a0 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
f79c0 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pe">c_int</span>.=.<span.class="
f79e0 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
f7a00 61 6e 20 63 6c 61 73 73 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=
f7a20 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 61 6e 20 63 6c 61 "tok-kw">var</span>.b:.<span.cla
f7a40 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 20 3d 20 3c 73 70 ss="tok-type">c_int</span>.=.<sp
f7a60 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>;<
f7a80 2f 73 70 61 6e 3e 0a 3c 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
f7aa0 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>
f7ac0 20 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 .a.+.b;</span>.<span.class="line
f7ae0 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 73 ">}</span>.<span.class="line"><s
f7b00 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
f7b20 70 61 6e 20 63 6c 61 73 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>.
f7b40 4d 41 4b 45 4c 4f 43 41 4c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 MAKELOCAL.=.<span.class="tok-bui
f7b60 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 70 61 6e ltin">@compileError</span>(<span
f7b80 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 6c 65 20 74 6f .class="tok-str">&quot;unable.to
f7ba0 20 74 72 61 6e 73 6c 61 74 65 20 43 20 65 78 70 72 3a 20 75 6e 65 78 70 65 63 74 65 64 20 74 6f .translate.C.expr:.unexpected.to
f7bc0 6b 65 6e 20 2e 45 71 75 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 20 3c 73 70 61 6e 20 ken..Equal&quot;</span>);.<span.
f7be0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 61 63 72 6f 2e 63 3a 31 class="tok-comment">//.macro.c:1
f7c00 3a 39 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 3c 2f 66 :9</span></span></code></pre></f
f7c20 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 3c 63 6f 64 65 3e igure>.......<p>Note.that.<code>
f7c40 3c 73 70 61 6e 20 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 <span.class="line">foo</span></c
f7c60 6f 64 65 3e 20 77 61 73 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f 72 72 65 63 74 6c 79 20 64 65 ode>.was.translated.correctly.de
f7c80 73 70 69 74 65 20 75 73 69 6e 67 20 61 20 6e 6f 6e 2d 74 72 61 6e 73 6c 61 74 61 62 6c 65 0a 20 spite.using.a.non-translatable..
f7ca0 20 20 20 20 20 20 20 6d 61 63 72 6f 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .......macro..<code><span.class=
f7cc0 22 6c 69 6e 65 22 3e 4d 41 4b 45 4c 4f 43 41 4c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 "line">MAKELOCAL</span></code>.w
f7ce0 61 73 20 64 65 6d 6f 74 65 64 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d as.demoted.to.<code><span.class=
f7d00 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"
f7d20 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f >@compileError</span></span></co
f7d40 64 65 3e 20 73 69 6e 63 65 0a 20 20 20 20 20 20 20 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 65 de>.since.........it.cannot.be.e
f7d60 78 70 72 65 73 73 65 64 20 61 73 20 61 20 5a 69 67 20 66 75 6e 63 74 69 6f 6e 3b 20 74 68 69 73 xpressed.as.a.Zig.function;.this
f7d80 20 73 69 6d 70 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 6e 6f 74 20 64 69 .simply.means.that.you.cannot.di
f7da0 72 65 63 74 6c 79 20 75 73 65 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 rectly.use.........<code><span.c
f7dc0 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 2f 63 6f lass="line">MAKELOCAL</span></co
f7de0 64 65 3e 20 66 72 6f 6d 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c de>.from.Zig........</p>.......<
f7e00 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=
f7e20 22 23 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 61 "#compileError">@compileError</a
f7e40 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.
f7e60 69 64 3d 22 43 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d id="C-Pointers"><a.href="#toc-C-
f7e80 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 Pointers">C.Pointers</a>.<a.clas
f7ea0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 s="hdr".href="#C-Pointers">..</a
f7ec0 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 74 79 70 ></h3>........<p>.......This.typ
f7ee0 65 20 69 73 20 74 6f 20 62 65 20 61 76 6f 69 64 65 64 20 77 68 65 6e 65 76 65 72 20 70 6f 73 73 e.is.to.be.avoided.whenever.poss
f7f00 69 62 6c 65 2e 20 54 68 65 20 6f 6e 6c 79 20 76 61 6c 69 64 20 72 65 61 73 6f 6e 20 66 6f 72 20 ible..The.only.valid.reason.for.
f7f20 75 73 69 6e 67 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 73 20 69 6e 0a 20 20 20 20 20 20 61 75 using.a.C.pointer.is.in.......au
f7f40 74 6f 2d 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 66 72 6f 6d 20 74 72 61 6e 73 6c 61 74 69 to-generated.code.from.translati
f7f60 6e 67 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a ng.C.code........</p>.......<p>.
f7f80 20 20 20 20 20 20 57 68 65 6e 20 69 6d 70 6f 72 74 69 6e 67 20 43 20 68 65 61 64 65 72 20 66 69 ......When.importing.C.header.fi
f7fa0 6c 65 73 2c 20 69 74 20 69 73 20 61 6d 62 69 67 75 6f 75 73 20 77 68 65 74 68 65 72 20 70 6f 69 les,.it.is.ambiguous.whether.poi
f7fc0 6e 74 65 72 73 20 73 68 6f 75 6c 64 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 61 73 0a 20 20 nters.should.be.translated.as...
f7fe0 20 20 20 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 28 3c 63 6f 64 65 3e ....single-item.pointers.(<code>
f8000 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 3c 2f 63 6f <span.class="line">*T</span></co
f8020 64 65 3e 29 20 6f 72 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 28 3c 63 6f 64 de>).or.many-item.pointers.(<cod
f8040 65 3e 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 e><span.class="line">[*]T</span>
f8060 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 43 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20 61 </code>)........C.pointers.are.a
f8080 20 63 6f 6d 70 72 6f 6d 69 73 65 20 73 6f 20 74 68 61 74 20 5a 69 67 20 63 6f 64 65 20 63 61 6e .compromise.so.that.Zig.code.can
f80a0 20 75 74 69 6c 69 7a 65 20 74 72 61 6e 73 6c 61 74 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 .utilize.translated.header.files
f80c0 20 64 69 72 65 63 74 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c .directly........</p>.......<p><
f80e0 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 2f 73 code><span.class="line">[*c]T</s
f8100 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 43 20 70 6f 69 6e 74 65 72 2e 3c 2f 70 3e 0a 20 20 20 pan></code>.-.C.pointer.</p>....
f8120 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 61 6c 6c ...<ul>.........<li>Supports.all
f8140 20 74 68 65 20 73 79 6e 74 61 78 20 6f 66 20 74 68 65 20 6f 74 68 65 72 20 74 77 6f 20 70 6f 69 .the.syntax.of.the.other.two.poi
f8160 6e 74 65 72 20 74 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 65 nter.types.</li>.........<li>Coe
f8180 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 73 2c 20 61 73 20 rces.to.other.pointer.types,.as.
f81a0 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 2d 50 6f 69 6e 74 well.as.<a.href="#Optional-Point
f81c0 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 2e 0a 20 20 20 20 ers">Optional.Pointers</a>......
f81e0 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 73 20 63 6f 65 72 ........When.a.C.pointer.is.coer
f8200 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 74 65 72 2c 20 73 ced.to.a.non-optional.pointer,.s
f8220 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 3c 61 20 68 72 65 afety-checked.............<a.hre
f8240 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 65 f="#Undefined-Behavior">Undefine
f8260 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 68 65 20 61 64 64 d.Behavior</a>.occurs.if.the.add
f8280 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 20 20 20 20 20 20 ress.is.0..........</li>........
f82a0 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 6e 6f 6e 2d 66 72 .<li>Allows.address.0..On.non-fr
f82c0 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 72 65 6e 63 69 6e eestanding.targets,.dereferencin
f82e0 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 6b 65 64 0a 20 20 g.address.0.is.safety-checked...
f8300 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 6e 65 64 2d 42 65 ..........<a.href="#Undefined-Be
f8320 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 20 havior">Undefined.Behavior</a>..
f8340 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 75 63 65 20 61 6e Optional.C.pointers.introduce.an
f8360 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 0a 20 20 20 20 20 other.bit.to.keep.track.of......
f8380 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 64 65 3e 3c 73 70 .......null,.just.like.<code><sp
f83a0 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 73 73 3d 22 74 6f an.class="line">?<span.class="to
f83c0 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 3e 3c 2f 63 6f 64 k-type">usize</span></span></cod
f83e0 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 6f 70 74 69 6f 6e e>..Note.that.creating.an.option
f8400 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 73 20 75 6e 6e 65 al.C.pointer.............is.unne
f8420 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 6d 61 6c 20 3c 61 cessary.as.one.can.use.normal.<a
f8440 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f .href="#Optional-Pointers">Optio
f8460 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 3c 2f 6c 69 3e 0a nal.Pointers</a>..........</li>.
f8480 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 65 66 3d 22 23 54 ........<li>Supports.<a.href="#T
f84a0 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 3c 2f 61 3e 20 ype-Coercion">Type.Coercion</a>.
f84c0 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 0a 20 20 20 20 20 to.and.from.integers.</li>......
f84e0 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 20 77 69 74 68 20 ...<li>Supports.comparison.with.
f8500 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 3e 44 6f 65 73 20 integers.</li>.........<li>Does.
f8520 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 65 72 20 61 74 74 not.support.Zig-only.pointer.att
f8540 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 20 55 73 65 20 6e ributes.such.as.alignment..Use.n
f8560 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 50 6f 69 6e 74 65 ormal.<a.href="#Pointers">Pointe
f8580 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 3e 0a 20 20 20 20 rs</a>.........please!</li>.....
f85a0 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 70 6f 69 6e 74 65 ..</ul>.......<p>When.a.C.pointe
f85c0 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 73 74 72 75 63 74 r.is.pointing.to.a.single.struct
f85e0 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 63 65 20 74 68 65 .(not.an.array),.dereference.the
f8600 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 73 73 20 74 6f 20 .C.pointer.to.........access.to.
f8620 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 20 64 61 the.struct's.fields.or.member.da
f8640 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 20 20 20 ta..That.syntax.looks.like......
f8660 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 65 3e 3c ...this:.</p>.........<p><code><
f8680 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 63 74 2e span.class="line">ptr_to_struct.
f86a0 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 3c 2f 70 *.struct_member</span></code></p
f86c0 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 63 6f 6d 70 61 72 61 62 6c 65 20 >.........<p>This.is.comparable.
f86e0 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 69 6e 65 to.doing.<code><span.class="line
f8700 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 70 3e 0a ">-&gt;</span></code>.in.C.</p>.
f8720 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 69 73 20 ........<p>.When.a.C.pointer.is.
f8740 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 74 73 2c pointing.to.an.array.of.structs,
f8760 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 2f 70 3e .the.syntax.reverts.to.this:</p>
f8780 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 3d 22 6c .........<p><code><span.class="l
f87a0 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 78 5d 2e ine">ptr_to_struct_array[index].
f87c0 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 70 3e 0a struct_member</span></code></p>.
f87e0 20 20 20 20 20 20 0a 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 ..............<h3.id="Exporting-
f8800 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 70 6f 72 a-C-Library"><a.href="#toc-Expor
f8820 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 20 ting-a-C-Library">Exporting.a.C.
f8840 4c 69 62 72 61 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d Library</a>.<a.class="hdr".href=
f8860 22 23 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e c2 a7 3c 2f 61 3e 3c "#Exporting-a-C-Library">..</a><
f8880 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 65 20 6f 66 20 74 68 65 /h3>........<p>.......One.of.the
f88a0 20 70 72 69 6d 61 72 79 20 75 73 65 20 63 61 73 65 73 20 66 6f 72 20 5a 69 67 20 69 73 20 65 78 .primary.use.cases.for.Zig.is.ex
f88c0 70 6f 72 74 69 6e 67 20 61 20 6c 69 62 72 61 72 79 20 77 69 74 68 20 74 68 65 20 43 20 41 42 49 porting.a.library.with.the.C.ABI
f88e0 20 66 6f 72 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 73 .for.other.programming.languages
f8900 0a 20 20 20 20 20 20 74 6f 20 63 61 6c 6c 20 69 6e 74 6f 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c .......to.call.into..The.<code><
f8920 73 70 61 6e 20 63 6c 61 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
f8940 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 6f 64 ok-kw">export</span></span></cod
f8960 65 3e 20 6b 65 79 77 6f 72 64 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 e>.keyword.in.front.of.functions
f8980 2c 20 76 61 72 69 61 62 6c 65 73 2c 20 61 6e 64 20 74 79 70 65 73 20 63 61 75 73 65 73 20 74 68 ,.variables,.and.types.causes.th
f89a0 65 6d 20 74 6f 0a 20 20 20 20 20 20 62 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 6c 69 62 72 61 em.to.......be.part.of.the.libra
f89c0 72 79 20 41 50 49 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 ry.API:.......</p>.......<figure
f89e0 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
f8a00 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 74 68 74 65 73 74 2e 7a 69 67 3c 2f 63 69 te.class="file">mathtest.zig</ci
f8a20 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
f8a40 20 63 6c 61 73 73 3d 22 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
f8a60 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 6f w">export</span>.<span.class="to
f8a80 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
f8aa0 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 22 -fn">add</span>(a:.<span.class="
f8ac0 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 63 tok-type">i32</span>,.b:.<span.c
f8ae0 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
f8b00 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 3c n.class="tok-type">i32</span>.{<
f8b20 2f 73 70 61 6e 3e 0a 3c 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
f8b40 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>
f8b60 20 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 .a.+.b;</span>.<span.class="line
f8b80 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>
f8ba0 0a 20 20 20 20 20 20 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 .......<p>To.make.a.static.libra
f8bc0 72 79 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f ry:</p>.......<figure><figcaptio
f8be0 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
f8c00 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><samp><span.class="li
f8c20 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6c 69 62 20 6d 61 74 68 74 65 73 ne">$.<kbd>zig.build-lib.mathtes
f8c40 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e t.zig</kbd></span>.</samp></pre>
f8c60 3c 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 </figure>.......<p>To.make.a.sha
f8c80 72 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 red.library:</p>.......<figure><
f8ca0 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
f8cc0 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 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
f8ce0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6c 69 class="line">$.<kbd>zig.build-li
f8d00 62 20 6d 61 74 68 74 65 73 74 2e 7a 69 67 20 2d 64 79 6e 61 6d 69 63 3c 2f 6b 62 64 3e 3c 2f 73 b.mathtest.zig.-dynamic</kbd></s
f8d20 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>.....
f8d40 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 68 20 74 68 65 ..<p>Here.is.an.example.with.the
f8d60 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 22 3e 5a 69 67 .<a.href="#Zig-Build-System">Zig
f8d80 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 20 20 3c 66 69 .Build.System</a>:</p>.......<fi
f8da0 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 3c gure><figcaption.class="c-cap"><
f8dc0 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 69 74 65 3e 3c cite.class="file">test.c</cite><
f8de0 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
f8e00 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 20 67 65 6e 65 ss="line">//.This.header.is.gene
f8e20 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 7a 69 67 3c 2f rated.by.zig.from.mathtest.zig</
f8e40 73 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 span>.<span.class="line">#includ
f8e60 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 70 61 6e 3e 0a e.&quot;mathtest.h&quot;</span>.
f8e80 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 6c 74 3b <span.class="line">#include.&lt;
f8ea0 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 61 73 73 3d 22 stdio.h&gt;</span>.<span.class="
f8ec0 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"
f8ee0 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 61 72 67 76 29 >int.main(int.argc,.char.**argv)
f8f00 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">...
f8f20 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 33 33 37 29 3b .int32_t.result.=.add(42,.1337);
f8f40 3c 2f 73 70 61 6e 3e 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
f8f60 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 75 6c 74 29 3b rintf(&quot;%d\n&quot;,.result);
f8f80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 </span>.<span.class="line">....r
f8fa0 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 3d 22 6c 69 6e eturn.0;</span>.<span.class="lin
f8fc0 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
f8fe0 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
f9000 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
f9020 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 6f 6e 3e 3c 70 72 65 uild.zig</cite></figcaption><pre
f9040 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.
f9060 63 6c 61 73 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 75 69 6c class="tok-kw">const</span>.Buil
f9080 64 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e der.=.<span.class="tok-builtin">
f90a0 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-
f90c0 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 str">&quot;std&quot;</span>).bui
f90e0 6c 64 2e 42 75 69 6c 64 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ld.Builder;</span>.<span.class="
f9100 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"
f9120 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>
f9140 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>.
f9160 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 75 69 6c 64 3c 2f 73 70 61 6e <span.class="tok-fn">build</span
f9180 3e 28 62 3a 20 2a 42 75 69 6c 64 65 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >(b:.*Builder).<span.class="tok-
f91a0 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
f91c0 20 63 6c 61 73 73 3d 22 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
f91e0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 62 20 3d 20 62 2e 61 64 64 53 ok-kw">const</span>.lib.=.b.addS
f9200 68 61 72 65 64 4c 69 62 72 61 72 79 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 haredLibrary(<span.class="tok-st
f9220 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 6e 3e 2c 20 r">&quot;mathtest&quot;</span>,.
f9240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 61 74 68 <span.class="tok-str">&quot;math
f9260 74 65 73 74 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 62 2e 76 65 72 73 69 6f 6e test.zig&quot;</span>,.b.version
f9280 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
f92a0 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f n>,.<span.class="tok-number">0</
f92c0 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">
f92e0 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 6c 61 73 73 3d 22 0</span>));</span>.<span.class="
f9300 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"
f9320 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<
f9340 2f 73 70 61 6e 3e 20 65 78 65 20 3d 20 62 2e 61 64 64 45 78 65 63 75 74 61 62 6c 65 28 3c 73 70 /span>.exe.=.b.addExecutable(<sp
f9360 61 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
f9380 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 6e 75 6c ot;</span>,.<span.class="tok-nul
f93a0 6c 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 l">null</span>);</span>.<span.cl
f93c0 61 73 73 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 ass="line">....exe.addCSourceFil
f93e0 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 e(<span.class="tok-str">&quot;te
f9400 73 74 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 70 st.c&quot;</span>,.&amp;[_][]<sp
f9420 61 6e 20 63 6c 61 73 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>.<
f9440 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 7b span.class="tok-type">u8</span>{
f9460 3c 73 70 61 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 <span.class="tok-str">&quot;-std
f9480 3d 63 39 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 =c99&quot;</span>});</span>.<spa
f94a0 6e 20 63 6c 61 73 73 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 n.class="line">....exe.linkLibra
f94c0 72 79 28 6c 69 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 ry(lib);</span>.<span.class="lin
f94e0 65 22 3e 20 20 20 20 65 78 65 2e 6c 69 6e 6b 53 79 73 74 65 6d 4c 69 62 72 61 72 79 28 3c 73 70 e">....exe.linkSystemLibrary(<sp
f9500 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b an.class="tok-str">&quot;c&quot;
f9520 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
f9540 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">.
f9560 20 20 20 62 2e 64 65 66 61 75 6c 74 5f 73 74 65 70 2e 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b ...b.default_step.dependOn(&amp;
f9580 65 78 65 2e 73 74 65 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 exe.step);</span>.<span.class="l
f95a0 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">
f95c0 20 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</
f95e0 73 70 61 6e 3e 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 span>.run_cmd.=.exe.run();</span
f9600 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
f9620 61 6e 20 63 6c 61 73 73 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=
f9640 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 73 74 65 70 20 "tok-kw">const</span>.test_step.
f9660 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 74 72 22 3e 26 =.b.step(<span.class="tok-str">&
f9680 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 61 6e 20 63 6c quot;test&quot;</span>,.<span.cl
f96a0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 54 65 73 74 20 74 68 65 20 70 72 6f ass="tok-str">&quot;Test.the.pro
f96c0 67 72 61 6d 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 gram&quot;</span>);</span>.<span
f96e0 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 70 2e 64 65 70 65 .class="line">....test_step.depe
f9700 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 61 6e 3e 0a ndOn(&amp;run_cmd.step);</span>.
f9720 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
f9740 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 3e e></pre></figure>.......<figure>
f9760 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
f9780 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 3c 73 70 61 6e ell</figcaption><pre><samp><span
f97a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 20 74 .class="line">$.<kbd>zig.build.t
f97c0 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 est</kbd></span>.<span.class="li
f97e0 6e 65 22 3e 31 33 37 39 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 ne">1379</span>.</samp></pre></f
f9800 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c igure>.......<p>See.also:</p><ul
f9820 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 6f 72 74 3c 2f >.<li><a.href="#export">export</
f9840 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 a></li>.</ul>...............<h3.
f9860 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 20 68 72 65 66 id="Mixing-Object-Files"><a.href
f9880 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 3e 4d 69 78 69 ="#toc-Mixing-Object-Files">Mixi
f98a0 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 73 3d 22 68 64 ng.Object.Files</a>.<a.class="hd
f98c0 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 65 73 22 3e c2 r".href="#Mixing-Object-Files">.
f98e0 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 59 6f 75 20 .</a></h3>........<p>.......You.
f9900 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 74 68 20 61 6e can.mix.Zig.object.files.with.an
f9920 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 65 73 70 65 63 y.other.object.files.that.respec
f9940 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 20 3c 2f 70 3e t.the.C.ABI..Example:.......</p>
f9960 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
f9980 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 61 ="zig-cap"><cite.class="file">ba
f99a0 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 3e 3c 70 72 65 se64.zig</cite></figcaption><pre
f99c0 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.
f99e0 63 6c 61 73 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 61 73 65 class="tok-kw">const</span>.base
f9a00 36 34 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64.=.<span.class="tok-builtin">@
f9a20 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
f9a40 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 61 73 65 tr">&quot;std&quot;</span>).base
f9a60 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 22 3e 3c 2f 64;</span>.<span.class="line"></
f9a80 73 70 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
f9aa0 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 70 61 lass="tok-kw">export</span>.<spa
f9ac0 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
f9ae0 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 5f 36 34 3c 2f .class="tok-fn">decode_base_64</
f9b00 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 6c 69 6e 65 22 span>(</span>.<span.class="line"
f9b20 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 73 73 3d 22 74 >....dest_ptr:.[*]<span.class="t
f9b40 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 6e ok-type">u8</span>,</span>.<span
f9b60 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 20 3c 73 70 61 .class="line">....dest_len:.<spa
f9b80 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>,
f9ba0 3c 2f 73 70 61 6e 3e 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
f9bc0 6f 75 72 63 65 5f 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ource_ptr:.[*]<span.class="tok-k
f9be0 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
f9c00 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 6e 20 63 -type">u8</span>,</span>.<span.c
f9c20 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 20 3c 73 70 61 lass="line">....source_len:.<spa
f9c40 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>,
f9c60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 29 20 3c 73 70 </span>.<span.class="line">).<sp
f9c80 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>
f9ca0 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">...
f9cc0 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
f9ce0 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 6c 61 73 73 3d n>.src.=.source_ptr[<span.class=
f9d00 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 63 65 5f 6c 65 "tok-number">0</span>..source_le
f9d20 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 20 n];</span>.<span.class="line">..
f9d40 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
f9d60 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 6c 61 73 73 3d an>.dest.=.dest_ptr[<span.class=
f9d80 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 5f 6c 65 6e 5d "tok-number">0</span>..dest_len]
f9da0 3b 3c 2f 73 70 61 6e 3e 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">....
f9dc0 3c 73 70 61 6e 20 63 6c 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
f9de0 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 74 61 6e 64 61 >.base64_decoder.=.base64.standa
f9e00 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 61 73 73 3d 22 rd.Decoder;</span>.<span.class="
f9e20 6c 69 6e 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
f9e40 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 62 61 73 65 36 onst</span>.decoded_size.=.base6
f9e60 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 73 72 63 29 20 4_decoder.calcSizeForSlice(src).
f9e80 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
f9ea0 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
f9ec0 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
f9ee0 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 6f 64 65 28 64 ine">....base64_decoder.decode(d
f9f00 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 22 3e 30 3c 2f est[<span.class="tok-number">0</
f9f20 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 3c 73 70 61 6e span>..decoded_size],.src).<span
f9f40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 .class="tok-kw">catch</span>.<sp
f9f60 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 73 an.class="tok-kw">unreachable</s
f9f80 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">
f9fa0 20 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<
f9fc0 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 0a 3c 73 70 61 /span>.decoded_size;</span>.<spa
f9fe0 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></
fa000 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 pre></figure>.......<figure><fig
fa020 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 caption.class="c-cap"><cite.clas
fa040 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 63 61 70 74 69 s="file">test.c</cite></figcapti
fa060 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"
fa080 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 64 20 62 79 20 >//.This.header.is.generated.by.
fa0a0 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 3c 73 70 61 6e zig.from.base64.zig</span>.<span
fa0c0 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 74 3b 62 61 73 .class="line">#include.&quot;bas
fa0e0 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 61 73 73 3d 22 e64.h&quot;</span>.<span.class="
fa100 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"
fa120 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 2f 73 70 61 6e >#include.&lt;string.h&gt;</span
fa140 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 20 26 6c >.<span.class="line">#include.&l
fa160 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 61 73 73 t;stdio.h&gt;</span>.<span.class
fa180 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
fa1a0 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 61 72 67 e">int.main(int.argc,.char.**arg
fa1c0 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 22 3e 20 v).{</span>.<span.class="line">.
fa1e0 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 75 6f 74 3b 59 ...const.char.*encoded.=.&quot;Y
fa200 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 62 32 35 6e 49 WxsIHlvdXIgYmFzZSBhcmUgYmVsb25nI
fa220 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 20 63 6c 61 73 HRvIHVz&quot;;</span>.<span.clas
fa240 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 3c 2f 73 70 61 s="line">....char.buf[200];</spa
fa260 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
fa280 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 20 6c 65 6e 20 pan.class="line">....size_t.len.
fa2a0 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 65 6e 63 6f 64 =.decode_base_64(buf,.200,.encod
fa2c0 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 3e 0a 3c 73 70 ed,.strlen(encoded));</span>.<sp
fa2e0 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 5d 20 3d 20 30 an.class="line">....buf[len].=.0
fa300 3b 3c 2f 73 70 61 6e 3e 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">....
fa320 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 73 73 3d 22 6c puts(buf);</span>.<span.class="l
fa340 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">
fa360 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
fa380 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
fa3a0 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
fa3c0 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
fa3e0 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 6f 6e le">build.zig</cite></figcaption
fa400 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"><
fa420 73 70 61 6e 20 63 6c 61 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>
fa440 20 42 75 69 6c 64 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c .Builder.=.<span.class="tok-buil
fa460 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=
fa480 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>
fa4a0 29 2e 62 75 69 6c 64 2e 42 75 69 6c 64 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ).build.Builder;</span>.<span.cl
fa4c0 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="
fa4e0 6c 69 6e 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</
fa500 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
fa520 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 64 3c pan>.<span.class="tok-fn">build<
fa540 2f 73 70 61 6e 3e 28 62 3a 20 2a 42 75 69 6c 64 65 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>(b:.*Builder).<span.class=
fa560 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>.
fa580 3c 73 70 61 6e 20 63 6c 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
fa5a0 73 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 62 6a 20 3d 20 62 ss="tok-kw">const</span>.obj.=.b
fa5c0 2e 61 64 64 4f 62 6a 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 .addObject(<span.class="tok-str"
fa5e0 3e 26 71 75 6f 74 3b 62 61 73 65 36 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 >&quot;base64&quot;</span>,.<spa
fa600 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 73 65 36 34 2e 7a n.class="tok-str">&quot;base64.z
fa620 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 61 6e 20 63 ig&quot;</span>);</span>.<span.c
fa640 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=
fa660 22 6c 69 6e 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">
fa680 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 65 20 3d 20 62 2e 61 64 64 45 78 65 63 75 74 61 62 const</span>.exe.=.b.addExecutab
fa6a0 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 le(<span.class="tok-str">&quot;t
fa6c0 65 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 est&quot;</span>,.<span.class="t
fa6e0 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 3e 0a 3c 73 ok-null">null</span>);</span>.<s
fa700 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 61 64 64 43 53 6f 75 pan.class="line">....exe.addCSou
fa720 72 63 65 46 69 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 rceFile(<span.class="tok-str">&q
fa740 75 6f 74 3b 74 65 73 74 2e 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 5b 5f uot;test.c&quot;</span>,.&amp;[_
fa760 5d 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
fa780 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</
fa7a0 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>{<span.class="tok-str">&quo
fa7c0 74 3b 2d 73 74 64 3d 63 39 39 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b 3c 2f 73 70 61 6e t;-std=c99&quot;</span>});</span
fa7e0 3e 0a 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 61 64 64 >.<span.class="line">....exe.add
fa800 4f 62 6a 65 63 74 28 6f 62 6a 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d Object(obj);</span>.<span.class=
fa820 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 6c 69 6e 6b 53 79 73 74 65 6d 4c 69 62 72 61 72 79 "line">....exe.linkSystemLibrary
fa840 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 63 26 71 (<span.class="tok-str">&quot;c&q
fa860 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
fa880 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 69 6e 73 74 61 6c 6c 28 29 3b 3c 2f 73 70 61 6e ="line">....exe.install();</span
fa8a0 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
fa8c0 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 ode></pre></figure>.......<figur
fa8e0 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">
fa900 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 3c 73 70 Shell</figcaption><pre><samp><sp
fa920 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 an.class="line">$.<kbd>zig.build
fa940 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 </kbd></span>.<span.class="line"
fa960 3e 24 20 3c 6b 62 64 3e 2e 2f 7a 69 67 2d 6f 75 74 2f 62 69 6e 2f 74 65 73 74 3c 2f 6b 62 64 3e >$.<kbd>./zig-out/bin/test</kbd>
fa980 3c 2f 73 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 6c 6c 20 79 </span>.<span.class="line">all.y
fa9a0 6f 75 72 20 62 61 73 65 20 61 72 65 20 62 65 6c 6f 6e 67 20 74 6f 20 75 73 3c 2f 73 70 61 6e 3e our.base.are.belong.to.us</span>
fa9c0 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
fa9e0 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="
faa00 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><
faa20 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 42 a.href="#Zig-Build-System">Zig.B
faa40 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 uild.System</a></li>.</ul>......
faa60 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 57 65 62 41 73 73 65 6d ................<h2.id="WebAssem
faa80 62 6c 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 65 62 41 73 73 65 6d 62 6c 79 22 3e bly"><a.href="#toc-WebAssembly">
faaa0 57 65 62 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 WebAssembly</a>.<a.class="hdr".h
faac0 72 65 66 3d 22 23 57 65 62 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a ref="#WebAssembly">..</a></h2>..
faae0 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 73 75 70 70 6f 72 74 73 20 62 75 69 6c 64 69 6e 67 20 66 ......<p>Zig.supports.building.f
fab00 6f 72 20 57 65 62 41 73 73 65 6d 62 6c 79 20 6f 75 74 20 6f 66 20 74 68 65 20 62 6f 78 2e 3c 2f or.WebAssembly.out.of.the.box.</
fab20 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 72 65 65 73 74 61 6e 64 69 6e 67 22 3e 3c p>.......<h3.id="Freestanding"><
fab40 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 72 65 65 73 74 61 6e 64 69 6e 67 22 3e 46 72 65 65 73 a.href="#toc-Freestanding">Frees
fab60 74 61 6e 64 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 tanding</a>.<a.class="hdr".href=
fab80 22 23 46 72 65 65 73 74 61 6e 64 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 "#Freestanding">..</a></h3>.....
faba0 20 20 20 3c 70 3e 46 6f 72 20 68 6f 73 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 6c 69 6b 65 ...<p>For.host.environments.like
fabc0 20 74 68 65 20 77 65 62 20 62 72 6f 77 73 65 72 20 61 6e 64 20 6e 6f 64 65 6a 73 2c 20 62 75 69 .the.web.browser.and.nodejs,.bui
fabe0 6c 64 20 61 73 20 61 20 64 79 6e 61 6d 69 63 20 6c 69 62 72 61 72 79 20 75 73 69 6e 67 20 74 68 ld.as.a.dynamic.library.using.th
fac00 65 20 66 72 65 65 73 74 61 6e 64 69 6e 67 0a 20 20 20 20 20 20 4f 53 20 74 61 72 67 65 74 2e 20 e.freestanding.......OS.target..
fac20 48 65 72 65 27 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 72 75 6e 6e 69 6e 67 20 5a 69 67 Here's.an.example.of.running.Zig
fac40 20 63 6f 64 65 20 63 6f 6d 70 69 6c 65 64 20 74 6f 20 57 65 62 41 73 73 65 6d 62 6c 79 20 77 69 .code.compiled.to.WebAssembly.wi
fac60 74 68 20 6e 6f 64 65 6a 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 th.nodejs.</p>.......<figure><fi
fac80 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
faca0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 74 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 lass="file">math.zig</cite></fig
facc0 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="
face0 6c 69 6e 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 line"><span.class="tok-kw">exter
fad00 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 66 6e n</span>.<span.class="tok-kw">fn
fad20 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 </span>.<span.class="tok-fn">pri
fad40 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 nt</span>(<span.class="tok-type"
fad60 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
fad80 70 65 22 3e 76 6f 69 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 pe">void</span>;</span>.<span.cl
fada0 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="
fadc0 6c 69 6e 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
fade0 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
fae00 3c 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 64 </span>.<span.class="tok-fn">add
fae20 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 65 </span>(a:.<span.class="tok-type
fae40 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 6f ">i32</span>,.b:.<span.class="to
fae60 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 3d k-type">i32</span>).<span.class=
fae80 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>.
faea0 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 61 20 2b <span.class="line">....print(a.+
faec0 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 65 22 3e 7d .b);</span>.<span.class="line">}
faee0 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
faf00 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
faf20 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>
faf40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 <span.class="line">$.<kbd>zig.bu
faf60 69 6c 64 2d 6c 69 62 20 6d 61 74 68 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 77 61 73 6d 33 32 2d ild-lib.math.zig.-target.wasm32-
faf80 66 72 65 65 73 74 61 6e 64 69 6e 67 20 2d 64 79 6e 61 6d 69 63 3c 2f 6b 62 64 3e 3c 2f 73 70 61 freestanding.-dynamic</kbd></spa
fafa0 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>.......
fafc0 3c 66 69 67 75 72 65 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 <figure><figcaption.class="javas
fafe0 63 72 69 70 74 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 cript-cap"><cite.class="file">te
fb000 73 74 2e 6a 73 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 st.js</cite></figcaption><pre><c
fb020 6f 64 65 3e 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 66 73 20 ode><span.class="line">const.fs.
fb040 3d 20 72 65 71 75 69 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 =.require('fs');</span>.<span.cl
fb060 61 73 73 3d 22 6c 69 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 ass="line">const.source.=.fs.rea
fb080 64 46 69 6c 65 53 79 6e 63 28 26 71 75 6f 74 3b 2e 2f 6d 61 74 68 2e 77 61 73 6d 26 71 75 6f 74 dFileSync(&quot;./math.wasm&quot
fb0a0 3b 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 63 6f ;);</span>.<span.class="line">co
fb0c0 6e 73 74 20 74 79 70 65 64 41 72 72 61 79 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 nst.typedArray.=.new.Uint8Array(
fb0e0 73 6f 75 72 63 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 source);</span>.<span.class="lin
fb100 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 65 e"></span>.<span.class="line">We
fb120 62 41 73 73 65 6d 62 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 bAssembly.instantiate(typedArray
fb140 2c 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">..
fb160 65 6e 76 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 env:.{</span>.<span.class="line"
fb180 3e 20 20 20 20 70 72 69 6e 74 3a 20 28 72 65 73 75 6c 74 29 20 3d 26 67 74 3b 20 7b 20 63 6f 6e >....print:.(result).=&gt;.{.con
fb1a0 73 6f 6c 65 2e 6c 6f 67 28 60 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 24 7b 72 65 73 75 6c 74 sole.log(`The.result.is.${result
fb1c0 7d 60 29 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 6e 65 22 }`);.}</span>.<span.class="line"
fb1e0 3e 20 20 7d 7d 29 2e 74 68 65 6e 28 72 65 73 75 6c 74 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e >..}}).then(result.=&gt;.{</span
fb200 3e 0a 3c 73 70 61 6e 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 >.<span.class="line">..const.add
fb220 20 3d 20 72 65 73 75 6c 74 2e 69 6e 73 74 61 6e 63 65 2e 65 78 70 6f 72 74 73 2e 61 64 64 3b 3c .=.result.instance.exports.add;<
fb240 2f 73 70 61 6e 3e 0a 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 /span>.<span.class="line">..add(
fb260 31 2c 20 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 1,.2);</span>.<span.class="line"
fb280 3e 7d 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 >});</span></code></pre></figure
fb2a0 3e 0a 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=
fb2c0 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
fb2e0 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b re><samp><span.class="line">$.<k
fb300 62 64 3e 6e 6f 64 65 20 74 65 73 74 2e 6a 73 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 bd>node.test.js</kbd></span>.<sp
fb320 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 33 3c an.class="line">The.result.is.3<
fb340 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>...
fb360 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 3c 61 20 68 72 65 66 ...........<h3.id="WASI"><a.href
fb380 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 63 6c 61 73 73 3d 22 ="#toc-WASI">WASI</a>.<a.class="
fb3a0 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 2f 68 33 3e 0a 0a 20 hdr".href="#WASI">..</a></h3>...
fb3c0 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 20 57 65 62 41 73 73 .....<p>Zig's.support.for.WebAss
fb3e0 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 41 53 49 29 20 69 73 embly.System.Interface.(WASI).is
fb400 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 2e 0a 20 20 20 20 20 .under.active.development.......
fb420 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 6e 64 61 72 64 20 6c .Example.of.using.the.standard.l
fb440 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 64 20 6c 69 6e 65 20 ibrary.and.reading.command.line.
fb460 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 75 72 65 3e 3c 66 69 arguments:</p>.......<figure><fi
fb480 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
fb4a0 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 72 67 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 lass="file">args.zig</cite></fig
fb4c0 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="
fb4e0 6c 69 6e 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
fb500 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
fb520 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
fb540 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
fb560 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">
fb580 3c 2f 73 70 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
fb5a0 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
fb5c0 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.
fb5e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 class="tok-fn">main</span>().!<s
fb600 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>
fb620 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">...
fb640 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>
fb660 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 3d 20 73 74 64 .general_purpose_allocator.=.std
fb680 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 6f 72 28 2e 7b .heap.GeneralPurposeAllocator(.{
fb6a0 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 69 6e 65 22 3e }){};</span>.<span.class="line">
fb6c0 20 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</
fb6e0 73 70 61 6e 3e 20 67 70 61 20 3d 20 67 65 6e 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f 61 6c 6c 6f span>.gpa.=.general_purpose_allo
fb700 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 73 70 61 6e 20 cator.allocator();</span>.<span.
fb720 63 6c 61 73 73 3d 22 6c 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
fb740 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 67 73 20 3d 20 3c 73 70 61 6e 20 k-kw">const</span>.args.=.<span.
fb760 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 70 72 class="tok-kw">try</span>.std.pr
fb780 6f 63 65 73 73 2e 61 72 67 73 41 6c 6c 6f 63 28 67 70 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ocess.argsAlloc(gpa);</span>.<sp
fb7a0 61 6e 20 63 6c 61 73 73 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=
fb7c0 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 70 72 6f 63 65 73 "tok-kw">defer</span>.std.proces
fb7e0 73 2e 61 72 67 73 46 72 65 65 28 67 70 61 2c 20 61 72 67 73 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 s.argsFree(gpa,.args);</span>.<s
fb800 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
fb820 6c 61 73 73 3d 22 6c 69 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
fb840 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 61 72 67 73 29 20 7c 61 72 67 2c 20 69 7c 20 -kw">for</span>.(args).|arg,.i|.
fb860 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">....
fb880 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=
fb8a0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c "tok-str">&quot;{}:.{s}\n&quot;<
fb8c0 2f 73 70 61 6e 3e 2c 20 2e 7b 20 69 2c 20 61 72 67 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 /span>,..{.i,.arg.});</span>.<sp
fb8e0 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
fb900 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><
fb920 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
fb940 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
fb960 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ption><pre><samp><span.class="li
fb980 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 61 72 67 73 2e 7a 69 ne">$.<kbd>zig.build-exe.args.zi
fb9a0 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 3c 2f 73 70 61 g.-target.wasm32-wasi</kbd></spa
fb9c0 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>.......
fb9e0 3c 66 69 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
fba00 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
fba20 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 77 61 73 mp><span.class="line">$.<kbd>was
fba40 6d 74 69 6d 65 20 61 72 67 73 2e 77 61 73 6d 20 31 32 33 20 68 65 6c 6c 6f 3c 2f 6b 62 64 3e 3c mtime.args.wasm.123.hello</kbd><
fba60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 30 3a 20 61 72 67 /span>.<span.class="line">0:.arg
fba80 73 2e 77 61 73 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 s.wasm</span>.<span.class="line"
fbaa0 3e 31 3a 20 31 32 33 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 >1:.123</span>.<span.class="line
fbac0 22 3e 32 3a 20 68 65 6c 6c 6f 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c ">2:.hello</span>.</samp></pre><
fbae0 2f 66 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 /figure>.......<p>A.more.interes
fbb00 74 69 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 ting.example.would.be.extracting
fbb20 20 74 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 .the.list.of.preopens.from.the.r
fbb40 75 6e 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 untime........This.is.now.suppor
fbb60 74 65 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 ted.in.the.standard.library.via.
fbb80 3c 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 66 73 2e <code><span.class="line">std.fs.
fbba0 77 61 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 wasi.PreopenList</span></code>:<
fbbc0 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
fbbe0 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"
fbc00 3e 70 72 65 6f 70 65 6e 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e >preopens.zig</cite></figcaption
fbc20 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"><
fbc40 73 70 61 6e 20 63 6c 61 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>
fbc60 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"
fbc80 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
fbca0 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>);</
fbcc0 73 70 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
fbce0 6c 61 73 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 72 65 6f 70 lass="tok-kw">const</span>.Preop
fbd00 65 6e 4c 69 73 74 20 3d 20 73 74 64 2e 66 73 2e 77 61 73 69 2e 50 72 65 6f 70 65 6e 4c 69 73 74 enList.=.std.fs.wasi.PreopenList
fbd20 3b 3c 2f 73 70 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
fbd40 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
fbd60 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
fbd80 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
fbda0 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.
fbdc0 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>.{</
fbde0 73 70 61 6e 3e 0a 3c 73 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
fbe00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 65 6e an.class="tok-kw">var</span>.gen
fbe20 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 68 65 61 eral_purpose_allocator.=.std.hea
fbe40 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f 72 28 2e 7b 7d 29 7b 7d p.GeneralPurposeAllocator(.{}){}
fbe60 3b 3c 2f 73 70 61 6e 3e 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">....
fbe80 3c 73 70 61 6e 20 63 6c 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
fbea0 3e 20 67 70 61 20 3d 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 >.gpa.=.general_purpose_allocato
fbec0 72 2e 61 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 r.allocator();</span>.<span.clas
fbee0 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
fbf00 6e 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
fbf20 3c 2f 73 70 61 6e 3e 20 70 72 65 6f 70 65 6e 73 20 3d 20 50 72 65 6f 70 65 6e 4c 69 73 74 2e 69 </span>.preopens.=.PreopenList.i
fbf40 6e 69 74 28 67 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 nit(gpa);</span>.<span.class="li
fbf60 6e 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 ne">....<span.class="tok-kw">def
fbf80 65 72 3c 2f 73 70 61 6e 3e 20 70 72 65 6f 70 65 6e 73 2e 64 65 69 6e 69 74 28 29 3b 3c 2f 73 70 er</span>.preopens.deinit();</sp
fbfa0 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>.<
fbfc0 73 70 61 6e 20 63 6c 61 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
fbfe0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 72 65 6f 70 65 6e 73 2e 70 s="tok-kw">try</span>.preopens.p
fc000 6f 70 75 6c 61 74 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 opulate();</span>.<span.class="l
fc020 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">
fc040 20 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
fc060 61 6e 3e 20 28 70 72 65 6f 70 65 6e 73 2e 61 73 53 6c 69 63 65 28 29 29 20 7c 70 72 65 6f 70 65 an>.(preopens.asSlice()).|preope
fc080 6e 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 n,.i|.{</span>.<span.class="line
fc0a0 22 3e 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 ">........std.debug.print(<span.
fc0c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 3a 20 7b 7d 5c 6e 26 71 class="tok-str">&quot;{}:.{}\n&q
fc0e0 75 6f 74 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 uot;</span>,..{.i,.preopen.});</
fc100 73 70 61 6e 3e 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">....}</
fc120 73 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
fc140 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><
fc160 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
fc180 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 3c 73 70 61 6e 20 ll</figcaption><pre><samp><span.
fc1a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 class="line">$.<kbd>zig.build-ex
fc1c0 65 20 70 72 65 6f 70 65 6e 73 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 77 61 73 6d 33 32 2d 77 61 e.preopens.zig.-target.wasm32-wa
fc1e0 73 69 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 si</kbd></span>.</samp></pre></f
fc200 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
fc220 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
fc240 74 69 6f 6e 3e 3c 70 72 65 3e 3c 73 61 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tion><pre><samp><span.class="lin
fc260 65 22 3e 24 20 3c 6b 62 64 3e 77 61 73 6d 74 69 6d 65 20 2d 2d 64 69 72 3d 2e 20 70 72 65 6f 70 e">$.<kbd>wasmtime.--dir=..preop
fc280 65 6e 73 2e 77 61 73 6d 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ens.wasm</kbd></span>.<span.clas
fc2a0 73 3d 22 6c 69 6e 65 22 3e 30 3a 20 50 72 65 6f 70 65 6e 7b 20 2e 66 64 20 3d 20 33 2c 20 2e 74 s="line">0:.Preopen{..fd.=.3,..t
fc2c0 79 70 65 20 3d 20 50 72 65 6f 70 65 6e 54 79 70 65 7b 20 2e 44 69 72 20 3d 20 27 2e 27 20 7d 20 ype.=.PreopenType{..Dir.=.'.'.}.
fc2e0 7d 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>.
fc300 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 72 67 ....................<h2.id="Targ
fc320 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 72 67 ets"><a.href="#toc-Targets">Targ
fc340 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 54 61 ets</a>.<a.class="hdr".href="#Ta
fc360 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 20 20 rgets">..</a></h2>........<p>...
fc380 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 64 65 ....Zig.supports.generating.code
fc3a0 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 70 6f .for.all.targets.that.LLVM.suppo
fc3c0 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 6b 73 rts..Here.is.......what.it.looks
fc3e0 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 67 65 .like.to.execute.<code>zig.targe
fc400 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 20 20 ts</code>.on.a.Linux.x86_64.....
fc420 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 66 69 ..computer:.......</p>.......<fi
fc440 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
fc460 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>
fc480 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 61 <span.class="line">$.<kbd>zig.ta
fc4a0 72 67 65 74 73 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 rgets</kbd></span>.<span.class="
fc4c0 6c 69 6e 65 22 3e 41 72 63 68 69 74 65 63 74 75 72 65 73 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 line">Architectures:</span>.<spa
fc4e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">..arm</span>.<spa
fc500 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 34 61 3c 2f 73 70 61 6e 3e 0a n.class="line">....v8_4a</span>.
fc520 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 33 61 3c 2f 73 70 <span.class="line">....v8_3a</sp
fc540 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 32 61 an>.<span.class="line">....v8_2a
fc560 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 </span>.<span.class="line">....v
fc580 38 5f 31 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 8_1a</span>.<span.class="line">.
fc5a0 20 20 20 76 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...v8</span>.<span.class="line">
fc5c0 20 20 20 20 76 38 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 ....v8r</span>.<span.class="line
fc5e0 22 3e 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ">....v8m_baseline</span>.<span.
fc600 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 3c 2f 73 class="line">....v8m_mainline</s
fc620 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 3c 2f pan>.<span.class="line">....v7</
fc640 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 65 span>.<span.class="line">....v7e
fc660 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 m</span>.<span.class="line">....
fc680 76 37 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 v7m</span>.<span.class="line">..
fc6a0 20 20 76 37 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 ..v7s</span>.<span.class="line">
fc6c0 20 20 20 20 76 37 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 ....v7k</span>.<span.class="line
fc6e0 22 3e 20 20 20 20 76 37 76 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ">....v7ve</span>.<span.class="l
fc700 69 6e 65 22 3e 20 20 20 20 76 36 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">....v6</span>.<span.class="
fc720 6c 69 6e 65 22 3e 20 20 20 20 76 36 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 line">....v6m</span>.<span.class
fc740 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ="line">....v6k</span>.<span.cla
fc760 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 74 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ss="line">....v6t2</span>.<span.
fc780 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e class="line">....v5</span>.<span
fc7a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 74 65 3c 2f 73 70 61 6e 3e 0a 3c 73 .class="line">....v5te</span>.<s
fc7c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 34 74 3c 2f 73 70 61 6e 3e 0a pan.class="line">....v4t</span>.
fc7e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 65 62 3c 2f 73 70 61 6e <span.class="line">..armeb</span
fc800 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 34 61 3c 2f >.<span.class="line">....v8_4a</
fc820 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f span>.<span.class="line">....v8_
fc840 33 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 3a</span>.<span.class="line">...
fc860 20 76 38 5f 32 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .v8_2a</span>.<span.class="line"
fc880 3e 20 20 20 20 76 38 5f 31 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >....v8_1a</span>.<span.class="l
fc8a0 69 6e 65 22 3e 20 20 20 20 76 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">....v8</span>.<span.class="
fc8c0 6c 69 6e 65 22 3e 20 20 20 20 76 38 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 line">....v8r</span>.<span.class
fc8e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a ="line">....v8m_baseline</span>.
fc900 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c <span.class="line">....v8m_mainl
fc920 69 6e 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 20 ine</span>.<span.class="line">..
fc940 20 20 76 37 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ..v7</span>.<span.class="line">.
fc960 20 20 20 76 37 65 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ...v7em</span>.<span.class="line
fc980 22 3e 20 20 20 20 76 37 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ">....v7m</span>.<span.class="li
fc9a0 6e 65 22 3e 20 20 20 20 76 37 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ne">....v7s</span>.<span.class="
fc9c0 6c 69 6e 65 22 3e 20 20 20 20 76 37 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 line">....v7k</span>.<span.class
fc9e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 76 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ="line">....v7ve</span>.<span.cl
fca00 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....v6</span>.<span.c
fca20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e lass="line">....v6m</span>.<span
fca40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .class="line">....v6k</span>.<sp
fca60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 74 32 3c 2f 73 70 61 6e 3e 0a an.class="line">....v6t2</span>.
fca80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 3c 2f 73 70 61 6e 3e <span.class="line">....v5</span>
fcaa0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 74 65 3c 2f 73 70 .<span.class="line">....v5te</sp
fcac0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 34 74 3c 2f an>.<span.class="line">....v4t</
fcae0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 61 72 63 68 span>.<span.class="line">..aarch
fcb00 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 64</span>.<span.class="line">...
fcb20 20 76 38 5f 34 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .v8_4a</span>.<span.class="line"
fcb40 3e 20 20 20 20 76 38 5f 33 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >....v8_3a</span>.<span.class="l
fcb60 69 6e 65 22 3e 20 20 20 20 76 38 5f 32 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ine">....v8_2a</span>.<span.clas
fcb80 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 31 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="line">....v8_1a</span>.<span.
fcba0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e class="line">....v8</span>.<span
fcbc0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .class="line">....v8r</span>.<sp
fcbe0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 an.class="line">....v8m_baseline
fcc00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 </span>.<span.class="line">....v
fcc20 38 6d 5f 6d 61 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 8m_mainline</span>.<span.class="
fcc40 6c 69 6e 65 22 3e 20 20 61 61 72 63 68 36 34 5f 62 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 line">..aarch64_be</span>.<span.
fcc60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 34 61 3c 2f 73 70 61 6e 3e 0a 3c 73 class="line">....v8_4a</span>.<s
fcc80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 33 61 3c 2f 73 70 61 6e pan.class="line">....v8_3a</span
fcca0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 32 61 3c 2f >.<span.class="line">....v8_2a</
fccc0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f span>.<span.class="line">....v8_
fcce0 31 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 1a</span>.<span.class="line">...
fcd00 20 76 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .v8</span>.<span.class="line">..
fcd20 20 20 76 38 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 ..v8r</span>.<span.class="line">
fcd40 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ....v8m_baseline</span>.<span.cl
fcd60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 3c 2f 73 70 61 ass="line">....v8m_mainline</spa
fcd80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 76 72 3c 2f 73 70 61 n>.<span.class="line">..avr</spa
fcda0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 62 70 66 65 6c 3c 2f 73 n>.<span.class="line">..bpfel</s
fcdc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 62 70 66 65 62 3c pan>.<span.class="line">..bpfeb<
fcde0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 68 65 78 61 /span>.<span.class="line">..hexa
fce00 67 6f 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 20 20 gon</span>.<span.class="line">..
fce20 6d 69 70 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 mips</span>.<span.class="line">.
fce40 20 6d 69 70 73 65 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .mipsel</span>.<span.class="line
fce60 22 3e 20 20 6d 69 70 73 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ">..mips64</span>.<span.class="l
fce80 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 65 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ine">..mips64el</span>.<span.cla
fcea0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 73 70 34 33 30 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ss="line">..msp430</span>.<span.
fcec0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 3c 2f 73 70 61 6e 3e 0a 3c 73 class="line">..powerpc</span>.<s
fcee0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 36 34 3c 2f 73 70 pan.class="line">..powerpc64</sp
fcf00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 an>.<span.class="line">..powerpc
fcf20 36 34 6c 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 64le</span>.<span.class="line">.
fcf40 20 72 36 30 30 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .r600</span>.<span.class="line">
fcf60 20 20 61 6d 64 67 63 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 ..amdgcn</span>.<span.class="lin
fcf80 65 22 3e 20 20 72 69 73 63 76 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">..riscv32</span>.<span.class=
fcfa0 22 6c 69 6e 65 22 3e 20 20 72 69 73 63 76 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "line">..riscv64</span>.<span.cl
fcfc0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 70 61 72 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ass="line">..sparc</span>.<span.
fcfe0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 70 61 72 63 76 39 3c 2f 73 70 61 6e 3e 0a 3c 73 class="line">..sparcv9</span>.<s
fd000 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 70 61 72 63 65 6c 3c 2f 73 70 61 6e pan.class="line">..sparcel</span
fd020 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 33 39 30 78 3c 2f 73 70 >.<span.class="line">..s390x</sp
fd040 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 74 68 75 6d 62 3c 2f an>.<span.class="line">..thumb</
fd060 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f span>.<span.class="line">....v8_
fd080 34 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 4a</span>.<span.class="line">...
fd0a0 20 76 38 5f 33 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .v8_3a</span>.<span.class="line"
fd0c0 3e 20 20 20 20 76 38 5f 32 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >....v8_2a</span>.<span.class="l
fd0e0 69 6e 65 22 3e 20 20 20 20 76 38 5f 31 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ine">....v8_1a</span>.<span.clas
fd100 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">....v8</span>.<span.cla
fd120 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ss="line">....v8r</span>.<span.c
fd140 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 3c 2f 73 70 lass="line">....v8m_baseline</sp
fd160 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 6d an>.<span.class="line">....v8m_m
fd180 61 69 6e 6c 69 6e 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 ainline</span>.<span.class="line
fd1a0 22 3e 20 20 20 20 76 37 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ">....v7</span>.<span.class="lin
fd1c0 65 22 3e 20 20 20 20 76 37 65 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e">....v7em</span>.<span.class="
fd1e0 6c 69 6e 65 22 3e 20 20 20 20 76 37 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 line">....v7m</span>.<span.class
fd200 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ="line">....v7s</span>.<span.cla
fd220 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ss="line">....v7k</span>.<span.c
fd240 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 76 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 lass="line">....v7ve</span>.<spa
fd260 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 3c 2f 73 70 61 6e 3e 0a 3c 73 70 n.class="line">....v6</span>.<sp
fd280 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 6d 3c 2f 73 70 61 6e 3e 0a 3c an.class="line">....v6m</span>.<
fd2a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 6b 3c 2f 73 70 61 6e 3e span.class="line">....v6k</span>
fd2c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 74 32 3c 2f 73 70 .<span.class="line">....v6t2</sp
fd2e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 3c 2f 73 an>.<span.class="line">....v5</s
fd300 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 74 65 pan>.<span.class="line">....v5te
fd320 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 </span>.<span.class="line">....v
fd340 34 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 74 4t</span>.<span.class="line">..t
fd360 68 75 6d 62 65 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 humbeb</span>.<span.class="line"
fd380 3e 20 20 20 20 76 38 5f 34 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >....v8_4a</span>.<span.class="l
fd3a0 69 6e 65 22 3e 20 20 20 20 76 38 5f 33 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ine">....v8_3a</span>.<span.clas
fd3c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 32 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="line">....v8_2a</span>.<span.
fd3e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 31 61 3c 2f 73 70 61 6e 3e 0a 3c 73 class="line">....v8_1a</span>.<s
fd400 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 3c 2f 73 70 61 6e 3e 0a 3c pan.class="line">....v8</span>.<
fd420 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 72 3c 2f 73 70 61 6e 3e span.class="line">....v8r</span>
fd440 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 62 61 73 65 .<span.class="line">....v8m_base
fd460 6c 69 6e 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 line</span>.<span.class="line">.
fd480 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ...v8m_mainline</span>.<span.cla
fd4a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ss="line">....v7</span>.<span.cl
fd4c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 65 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ass="line">....v7em</span>.<span
fd4e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .class="line">....v7m</span>.<sp
fd500 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 73 3c 2f 73 70 61 6e 3e 0a 3c an.class="line">....v7s</span>.<
fd520 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 6b 3c 2f 73 70 61 6e 3e span.class="line">....v7k</span>
fd540 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 76 65 3c 2f 73 70 .<span.class="line">....v7ve</sp
fd560 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 3c 2f 73 an>.<span.class="line">....v6</s
fd580 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 6d 3c pan>.<span.class="line">....v6m<
fd5a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 /span>.<span.class="line">....v6
fd5c0 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 20 20 20 20 k</span>.<span.class="line">....
fd5e0 76 36 74 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 v6t2</span>.<span.class="line">.
fd600 20 20 20 76 35 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...v5</span>.<span.class="line">
fd620 20 20 20 20 76 35 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 ....v5te</span>.<span.class="lin
fd640 65 22 3e 20 20 20 20 76 34 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e">....v4t</span>.<span.class="l
fd660 69 6e 65 22 3e 20 20 69 33 38 36 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">..i386</span>.<span.class="
fd680 6c 69 6e 65 22 3e 20 20 78 38 36 5f 36 34 20 28 6e 61 74 69 76 65 29 3c 2f 73 70 61 6e 3e 0a 3c line">..x86_64.(native)</span>.<
fd6a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 78 63 6f 72 65 3c 2f 73 70 61 6e 3e span.class="line">..xcore</span>
fd6c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 76 70 74 78 3c 2f 73 70 61 .<span.class="line">..nvptx</spa
fd6e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 76 70 74 78 36 34 3c n>.<span.class="line">..nvptx64<
fd700 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6c 61 6e 61 /span>.<span.class="line">..lana
fd720 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 77 61 i</span>.<span.class="line">..wa
fd740 73 6d 33 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 sm32</span>.<span.class="line">.
fd760 20 77 61 73 6d 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .wasm64</span>.<span.class="line
fd780 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 4f 70 65 "></span>.<span.class="line">Ope
fd7a0 72 61 74 69 6e 67 20 53 79 73 74 65 6d 73 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 rating.Systems:</span>.<span.cla
fd7c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 66 72 65 65 73 74 61 6e 64 69 6e 67 3c 2f 73 70 61 6e 3e 0a ss="line">..freestanding</span>.
fd7e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 6e 61 6e 61 73 3c 2f 73 70 61 <span.class="line">..ananas</spa
fd800 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6c 6f 75 64 61 62 69 n>.<span.class="line">..cloudabi
fd820 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 64 72 61 </span>.<span.class="line">..dra
fd840 67 6f 6e 66 6c 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 gonfly</span>.<span.class="line"
fd860 3e 20 20 66 72 65 65 62 73 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >..freebsd</span>.<span.class="l
fd880 69 6e 65 22 3e 20 20 66 75 63 68 73 69 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ine">..fuchsia</span>.<span.clas
fd8a0 73 3d 22 6c 69 6e 65 22 3e 20 20 69 6f 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 s="line">..ios</span>.<span.clas
fd8c0 73 3d 22 6c 69 6e 65 22 3e 20 20 6b 66 72 65 65 62 73 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e s="line">..kfreebsd</span>.<span
fd8e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6c 69 6e 75 78 20 28 6e 61 74 69 76 65 29 3c 2f .class="line">..linux.(native)</
fd900 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6c 76 32 3c 2f span>.<span.class="line">..lv2</
fd920 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 61 63 6f 73 span>.<span.class="line">..macos
fd940 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 65 74 </span>.<span.class="line">..net
fd960 62 73 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 20 20 bsd</span>.<span.class="line">..
fd980 6f 70 65 6e 62 73 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 openbsd</span>.<span.class="line
fd9a0 22 3e 20 20 73 6f 6c 61 72 69 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">..solaris</span>.<span.class="
fd9c0 6c 69 6e 65 22 3e 20 20 77 69 6e 64 6f 77 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 line">..windows</span>.<span.cla
fd9e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 68 61 69 6b 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ss="line">..haiku</span>.<span.c
fda00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 6e 69 78 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e lass="line">..minix</span>.<span
fda20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 72 74 65 6d 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .class="line">..rtems</span>.<sp
fda40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 61 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 an.class="line">..nacl</span>.<s
fda60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6e 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">..cnk</span>.<s
fda80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 69 78 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">..aix</span>.<s
fdaa0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 75 64 61 3c 2f 73 70 61 6e 3e 0a 3c pan.class="line">..cuda</span>.<
fdac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 76 63 6c 3c 2f 73 70 61 6e 3e 0a span.class="line">..nvcl</span>.
fdae0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 6d 64 68 73 61 3c 2f 73 70 61 <span.class="line">..amdhsa</spa
fdb00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 73 34 3c 2f 73 70 61 n>.<span.class="line">..ps4</spa
fdb20 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 6c 66 69 61 6d 63 75 n>.<span.class="line">..elfiamcu
fdb40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 74 76 6f </span>.<span.class="line">..tvo
fdb60 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 77 61 s</span>.<span.class="line">..wa
fdb80 73 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 77 si</span>.<span.class="line">..w
fdba0 61 74 63 68 6f 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 atchos</span>.<span.class="line"
fdbc0 3e 20 20 6d 65 73 61 33 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >..mesa3d</span>.<span.class="li
fdbe0 6e 65 22 3e 20 20 63 6f 6e 74 69 6b 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ne">..contiki</span>.<span.class
fdc00 3d 22 6c 69 6e 65 22 3e 20 20 61 6d 64 70 61 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ="line">..amdpal</span>.<span.cl
fdc20 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 7a 65 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ass="line">..zen</span>.<span.cl
fdc40 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 75 65 66 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">..uefi</span>.<span.c
fdc60 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=
fdc80 22 6c 69 6e 65 22 3e 43 20 41 42 49 73 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 "line">C.ABIs:</span>.<span.clas
fdca0 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 6f 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">..none</span>.<span.cla
fdcc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 20 28 6e 61 74 69 76 65 29 3c 2f 73 70 61 6e 3e 0a ss="line">..gnu.(native)</span>.
fdce0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 61 62 69 6e 33 32 3c 2f <span.class="line">..gnuabin32</
fdd00 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 61 62 span>.<span.class="line">..gnuab
fdd20 69 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 i64</span>.<span.class="line">..
fdd40 67 6e 75 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 gnueabi</span>.<span.class="line
fdd60 22 3e 20 20 67 6e 75 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">..gnueabihf</span>.<span.class
fdd80 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 78 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ="line">..gnux32</span>.<span.cl
fdda0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6f 64 65 31 36 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ass="line">..code16</span>.<span
fddc0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .class="line">..eabi</span>.<spa
fdde0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c n.class="line">..eabihf</span>.<
fde00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 6e 64 72 6f 69 64 3c 2f 73 70 61 span.class="line">..android</spa
fde20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 75 73 6c 3c 2f 73 70 n>.<span.class="line">..musl</sp
fde40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 75 73 6c 65 61 62 an>.<span.class="line">..musleab
fde60 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 75 i</span>.<span.class="line">..mu
fde80 73 6c 65 61 62 69 68 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 sleabihf</span>.<span.class="lin
fdea0 65 22 3e 20 20 6d 73 76 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e">..msvc</span>.<span.class="li
fdec0 6e 65 22 3e 20 20 69 74 61 6e 69 75 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ne">..itanium</span>.<span.class
fdee0 3d 22 6c 69 6e 65 22 3e 20 20 63 79 67 6e 75 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ="line">..cygnus</span>.<span.cl
fdf00 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6f 72 65 63 6c 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="line">..coreclr</span>.<spa
fdf20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 69 6d 75 6c 61 74 6f 72 3c 2f 73 70 61 6e n.class="line">..simulator</span
fdf40 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
fdf60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 76 61 69 6c 61 62 6c 65 20 6c 69 62 63 73 3a an.class="line">Available.libcs:
fdf80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 61 72 </span>.<span.class="line">..aar
fdfa0 63 68 36 34 5f 62 65 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ch64_be-linux-gnu</span>.<span.c
fdfc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 61 72 63 68 36 34 5f 62 65 2d 6c 69 6e 75 78 2d 6d lass="line">..aarch64_be-linux-m
fdfe0 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 usl</span>.<span.class="line">..
fe000 61 61 72 63 68 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 aarch64-linux-gnu</span>.<span.c
fe020 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 61 72 63 68 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c lass="line">..aarch64-linux-musl
fe040 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 eabi</span>.<span.class="line">.
fe060 20 61 72 6d 65 62 2d 6c 69 6e 75 78 2d 67 6e 75 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .armeb-linux-gnueabi</span>.<spa
fe080 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 65 62 2d 6c 69 6e 75 78 2d 67 6e 75 n.class="line">..armeb-linux-gnu
fe0a0 65 61 62 69 68 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 eabihf</span>.<span.class="line"
fe0c0 3e 20 20 61 72 6d 65 62 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c >..armeb-linux-musleabi</span>.<
fe0e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 65 62 2d 6c 69 6e 75 78 2d span.class="line">..armeb-linux-
fe100 6d 75 73 6c 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c musleabihf</span>.<span.class="l
fe120 69 6e 65 22 3e 20 20 61 72 6d 2d 6c 69 6e 75 78 2d 67 6e 75 65 61 62 69 3c 2f 73 70 61 6e 3e 0a ine">..arm-linux-gnueabi</span>.
fe140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 2d 6c 69 6e 75 78 2d 67 <span.class="line">..arm-linux-g
fe160 6e 75 65 61 62 69 68 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 nueabihf</span>.<span.class="lin
fe180 65 22 3e 20 20 61 72 6d 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c e">..arm-linux-musleabi</span>.<
fe1a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 2d 6c 69 6e 75 78 2d 6d 75 span.class="line">..arm-linux-mu
fe1c0 73 6c 65 61 62 69 68 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 sleabihf</span>.<span.class="lin
fe1e0 65 22 3e 20 20 69 33 38 36 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e e">..i386-linux-gnu</span>.<span
fe200 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 69 33 38 36 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c .class="line">..i386-linux-musl<
fe220 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 /span>.<span.class="line">..mips
fe240 36 34 65 6c 2d 6c 69 6e 75 78 2d 67 6e 75 61 62 69 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 64el-linux-gnuabi64</span>.<span
fe260 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 65 6c 2d 6c 69 6e 75 78 2d 67 .class="line">..mips64el-linux-g
fe280 6e 75 61 62 69 6e 33 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 nuabin32</span>.<span.class="lin
fe2a0 65 22 3e 20 20 6d 69 70 73 36 34 65 6c 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a e">..mips64el-linux-musl</span>.
fe2c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 2d 6c 69 6e 75 <span.class="line">..mips64-linu
fe2e0 78 2d 67 6e 75 61 62 69 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c x-gnuabi64</span>.<span.class="l
fe300 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 61 62 69 6e 33 32 3c 2f 73 ine">..mips64-linux-gnuabin32</s
fe320 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 pan>.<span.class="line">..mips64
fe340 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -linux-musl</span>.<span.class="
fe360 6c 69 6e 65 22 3e 20 20 6d 69 70 73 65 6c 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a line">..mipsel-linux-gnu</span>.
fe380 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 65 6c 2d 6c 69 6e 75 <span.class="line">..mipsel-linu
fe3a0 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 x-musl</span>.<span.class="line"
fe3c0 3e 20 20 6d 69 70 73 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 >..mips-linux-gnu</span>.<span.c
fe3e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 lass="line">..mips-linux-musl</s
fe400 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 69 6f 73 32 2d pan>.<span.class="line">..nios2-
fe420 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 linux-gnu</span>.<span.class="li
fe440 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 36 34 6c 65 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 ne">..powerpc64le-linux-gnu</spa
fe460 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 36 n>.<span.class="line">..powerpc6
fe480 34 6c 65 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 4le-linux-musl</span>.<span.clas
fe4a0 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f s="line">..powerpc64-linux-gnu</
fe4c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 span>.<span.class="line">..power
fe4e0 70 63 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pc64-linux-musl</span>.<span.cla
fe500 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 ss="line">..powerpc-linux-gnu</s
fe520 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 pan>.<span.class="line">..powerp
fe540 63 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d c-linux-musl</span>.<span.class=
fe560 22 6c 69 6e 65 22 3e 20 20 72 69 73 63 76 33 32 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 "line">..riscv32-linux-musl</spa
fe580 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 72 69 73 63 76 36 34 2d n>.<span.class="line">..riscv64-
fe5a0 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 linux-gnu</span>.<span.class="li
fe5c0 6e 65 22 3e 20 20 72 69 73 63 76 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a ne">..riscv64-linux-musl</span>.
fe5e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 33 39 30 78 2d 6c 69 6e 75 78 <span.class="line">..s390x-linux
fe600 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 -gnu</span>.<span.class="line">.
fe620 20 73 33 39 30 78 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .s390x-linux-musl</span>.<span.c
fe640 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 70 61 72 63 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 lass="line">..sparc-linux-gnu</s
fe660 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 70 61 72 63 76 pan>.<span.class="line">..sparcv
fe680 39 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 9-linux-gnu</span>.<span.class="
fe6a0 6c 69 6e 65 22 3e 20 20 77 61 73 6d 33 32 2d 66 72 65 65 73 74 61 6e 64 69 6e 67 2d 6d 75 73 6c line">..wasm32-freestanding-musl
fe6c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 77 61 73 </span>.<span.class="line">..was
fe6e0 6d 33 32 2d 77 61 73 69 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 m32-wasi-musl</span>.<span.class
fe700 3d 22 6c 69 6e 65 22 3e 20 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e ="line">..x86_64-linux-gnu</span
fe720 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 78 38 36 5f 36 34 2d 6c 69 >.<span.class="line">..x86_64-li
fe740 6e 75 78 2d 67 6e 75 78 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c nux-gnux32</span>.<span.class="l
fe760 69 6e 65 22 3e 20 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a ine">..x86_64-linux-musl</span>.
fe780 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>
fe7a0 0a 20 20 20 20 20 20 54 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 .......The.Zig.Standard.Library.
fe7c0 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 61 6e 20 (<code><span.class="line"><span.
fe7e0 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
fe800 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
fe820 74 64 26 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 29 20 td&quot;</span>)</span></code>).
fe840 68 61 73 20 61 72 63 68 69 74 65 63 74 75 72 65 2c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 has.architecture,.environment,.a
fe860 6e 64 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 0a 20 20 20 20 20 20 61 62 73 74 72 61 nd.operating.system.......abstra
fe880 63 74 69 6f 6e 73 2c 20 61 6e 64 20 74 68 75 73 20 74 61 6b 65 73 20 61 64 64 69 74 69 6f 6e 61 ctions,.and.thus.takes.additiona
fe8a0 6c 20 77 6f 72 6b 20 74 6f 20 73 75 70 70 6f 72 74 20 6d 6f 72 65 20 70 6c 61 74 66 6f 72 6d 73 l.work.to.support.more.platforms
fe8c0 2e 0a 20 20 20 20 20 20 4e 6f 74 20 61 6c 6c 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 ........Not.all.standard.library
fe8e0 20 63 6f 64 65 20 72 65 71 75 69 72 65 73 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 .code.requires.operating.system.
fe900 61 62 73 74 72 61 63 74 69 6f 6e 73 2c 20 68 6f 77 65 76 65 72 2c 0a 20 20 20 20 20 20 73 6f 20 abstractions,.however,.......so.
fe920 74 68 69 6e 67 73 20 73 75 63 68 20 61 73 20 67 65 6e 65 72 69 63 20 64 61 74 61 20 73 74 72 75 things.such.as.generic.data.stru
fe940 63 74 75 72 65 73 20 77 6f 72 6b 20 6f 6e 20 61 6c 6c 20 61 62 6f 76 65 20 70 6c 61 74 66 6f 72 ctures.work.on.all.above.platfor
fe960 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 63 75 72 72 ms........</p>.......<p>The.curr
fe980 65 6e 74 20 6c 69 73 74 20 6f 66 20 74 61 72 67 65 74 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 ent.list.of.targets.supported.by
fe9a0 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 20 69 73 3a 3c 2f 70 .the.Zig.Standard.Library.is:</p
fe9c0 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4c 69 6e 75 78 20 78 38 36 >.......<ul>.......<li>Linux.x86
fe9e0 5f 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 57 69 6e 64 6f 77 73 20 78 38 36 5f 36 _64</li>.......<li>Windows.x86_6
fea00 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 6d 61 63 4f 53 20 78 38 36 5f 36 34 3c 2f 6c 4</li>.......<li>macOS.x86_64</l
fea20 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 32 20 i>.......</ul>..............<h2.
fea40 69 64 3d 22 53 74 79 6c 65 2d 47 75 69 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 id="Style-Guide"><a.href="#toc-S
fea60 74 79 6c 65 2d 47 75 69 64 65 22 3e 53 74 79 6c 65 20 47 75 69 64 65 3c 2f 61 3e 20 3c 61 20 63 tyle-Guide">Style.Guide</a>.<a.c
fea80 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 79 6c 65 2d 47 75 69 64 65 22 3e c2 lass="hdr".href="#Style-Guide">.
feaa0 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 54 68 65 73 65 20 63 6f 64 69 .</a></h2>........<p>.These.codi
feac0 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 65 6e 66 6f 72 63 65 64 20 ng.conventions.are.not.enforced.
feae0 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2c 20 62 75 74 20 74 68 65 79 20 61 72 65 20 73 68 by.the.compiler,.but.they.are.sh
feb00 69 70 70 65 64 20 69 6e 0a 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6c 6f 6e ipped.in.this.documentation.alon
feb20 67 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 g.with.the.compiler.in.order.to.
feb40 70 72 6f 76 69 64 65 20 61 20 70 6f 69 6e 74 20 6f 66 0a 72 65 66 65 72 65 6e 63 65 2c 20 73 68 provide.a.point.of.reference,.sh
feb60 6f 75 6c 64 20 61 6e 79 6f 6e 65 20 77 69 73 68 20 74 6f 20 70 6f 69 6e 74 20 74 6f 20 61 6e 20 ould.anyone.wish.to.point.to.an.
feb80 61 75 74 68 6f 72 69 74 79 20 6f 6e 20 61 67 72 65 65 64 20 75 70 6f 6e 20 5a 69 67 0a 63 6f 64 authority.on.agreed.upon.Zig.cod
feba0 69 6e 67 20 73 74 79 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 ing.style........</p>.......<h3.
febc0 69 64 3d 22 57 68 69 74 65 73 70 61 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 68 id="Whitespace"><a.href="#toc-Wh
febe0 69 74 65 73 70 61 63 65 22 3e 57 68 69 74 65 73 70 61 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 itespace">Whitespace</a>.<a.clas
fec00 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 68 69 74 65 73 70 61 63 65 22 3e c2 a7 3c 2f 61 s="hdr".href="#Whitespace">..</a
fec20 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a ></h3>........<ul>.........<li>.
fec40 20 20 20 20 20 20 20 20 20 20 34 20 73 70 61 63 65 20 69 6e 64 65 6e 74 61 74 69 6f 6e 0a 20 20 ..........4.space.indentation...
fec60 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 ......</li>.........<li>........
fec80 20 20 20 4f 70 65 6e 20 62 72 61 63 65 73 20 6f 6e 20 73 61 6d 65 20 6c 69 6e 65 2c 20 75 6e 6c ...Open.braces.on.same.line,.unl
feca0 65 73 73 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 77 72 61 70 2e 0a 20 20 20 20 20 20 20 20 3c 2f ess.you.need.to.wrap..........</
fecc0 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 61 20 6c 69 73 74 20 6f 66 20 74 68 69 li>.........<li>If.a.list.of.thi
fece0 6e 67 73 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 32 2c 20 70 75 74 20 65 61 63 68 20 69 ngs.is.longer.than.2,.put.each.i
fed00 74 65 6d 20 6f 6e 20 69 74 73 20 6f 77 6e 20 6c 69 6e 65 20 61 6e 64 0a 20 20 20 20 20 20 20 20 tem.on.its.own.line.and.........
fed20 20 20 65 78 65 72 63 69 73 65 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 70 75 74 20 61 6e ..exercise.the.ability.to.put.an
fed40 20 65 78 74 72 61 20 63 6f 6d 6d 61 20 61 74 20 74 68 65 20 65 6e 64 2e 0a 20 20 20 20 20 20 20 .extra.comma.at.the.end.........
fed60 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 4c 69 .</li>.........<li>...........Li
fed80 6e 65 20 6c 65 6e 67 74 68 3a 20 61 69 6d 20 66 6f 72 20 31 30 30 3b 20 75 73 65 20 63 6f 6d 6d ne.length:.aim.for.100;.use.comm
feda0 6f 6e 20 73 65 6e 73 65 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f on.sense..........</li>.......</
fedc0 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 4e 61 6d 65 73 22 3e ul>..............<h3.id="Names">
fede0 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4e 61 6d 65 73 22 3e 4e 61 6d 65 73 3c 2f 61 3e 20 3c <a.href="#toc-Names">Names</a>.<
fee00 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4e 61 6d 65 73 22 3e c2 a7 3c 2f a.class="hdr".href="#Names">..</
fee20 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 52 6f 75 67 68 6c 79 a></h3>........<p>.......Roughly
fee40 20 73 70 65 61 6b 69 6e 67 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .speaking:.<code><span.class="li
fee60 6e 65 22 3e 63 61 6d 65 6c 43 61 73 65 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 3c 2f 73 70 61 6e 3e ne">camelCaseFunctionName</span>
fee80 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
feea0 22 3e 54 69 74 6c 65 43 61 73 65 54 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ">TitleCaseTypeName</span></code
feec0 3e 2c 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 >,...............<code><span.cla
feee0 73 73 3d 22 6c 69 6e 65 22 3e 73 6e 61 6b 65 5f 63 61 73 65 5f 76 61 72 69 61 62 6c 65 5f 6e 61 ss="line">snake_case_variable_na
fef00 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4d 6f 72 65 20 70 72 65 63 69 73 65 6c 79 me</span></code>..More.precisely
fef20 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>.........
fef40 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.
fef60 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.
fef80 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
fefa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 .class="tok-type">type</span></s
fefc0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 6e 20 3c 63 6f pan></code>.............then.<co
fefe0 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 73 70 61 6e 3e 3c 2f de><span.class="line">x</span></
ff000 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 61 6e 20 63 6c 61 73 code>.should.be.<code><span.clas
ff020 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 3c 2f 63 6f 64 65 3e s="line">TitleCase</span></code>
ff040 2c 20 75 6e 6c 65 73 73 20 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 61 20 3c 63 6f ,.unless.it.............is.a.<co
ff060 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
ff080 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 3c s="tok-kw">struct</span></span><
ff0a0 2f 63 6f 64 65 3e 20 77 69 74 68 20 30 20 66 69 65 6c 64 73 20 61 6e 64 20 69 73 20 6e 65 76 65 /code>.with.0.fields.and.is.neve
ff0c0 72 20 6d 65 61 6e 74 20 74 6f 20 62 65 20 69 6e 73 74 61 6e 74 69 61 74 65 64 2c 0a 20 20 20 20 r.meant.to.be.instantiated,.....
ff0e0 20 20 20 20 20 20 20 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 69 74 20 69 73 20 63 6f 6e 73 ........in.which.case.it.is.cons
ff100 69 64 65 72 65 64 20 74 6f 20 62 65 20 61 20 22 6e 61 6d 65 73 70 61 63 65 22 20 61 6e 64 20 75 idered.to.be.a."namespace".and.u
ff120 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 65 22 3e 73 6e 61 ses.<code><span.class="line">sna
ff140 6b 65 5f 63 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c ke_case</span></code>..........<
ff160 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 20 20 49 66 /li>.........<li>.............If
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 78 3c 2f 73 70 61 .<code><span.class="line">x</spa
ff1a0 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 63 61 6c 6c 61 62 6c 65 2c 20 61 6e 64 20 3c 63 6f 64 65 n></code>.is.callable,.and.<code
ff1c0 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
ff1e0 64 65 3e 27 73 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 de>'s.return.type.is............
ff200 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.
ff220 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 class="tok-type">type</span></sp
ff240 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 an></code>,.then.<code><span.cla
ff260 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 73 68 6f 75 6c 64 ss="line">x</span></code>.should
ff280 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 54 69 74 .be.<code><span.class="line">Tit
ff2a0 6c 65 43 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f leCase</span></code>..........</
ff2c0 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 li>.........<li>.............If.
ff2e0 3c 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 73 70 61 6e <code><span.class="line">x</span
ff300 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 63 61 6c 6c 61 62 6c 65 2c 20 ></code>.is.otherwise.callable,.
ff320 74 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 then.<code><span.class="line">x<
ff340 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 20 20 /span></code>.should............
ff360 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 63 61 6d .be.<code><span.class="line">cam
ff380 65 6c 43 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f elCase</span></code>..........</
ff3a0 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 li>.........<li>.............Oth
ff3c0 65 72 77 69 73 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 erwise,.<code><span.class="line"
ff3e0 3e 78 3c 2f 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 >x</span></code>.should.be.<code
ff400 3e 3c 73 70 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 ><span.class="line">snake_case</
ff420 73 70 61 6e 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 span></code>..........</li>.....
ff440 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 63 72 6f 6e 79 6d 73 ..</ul>.......<p>.......Acronyms
ff460 2c 20 69 6e 69 74 69 61 6c 69 73 6d 73 2c 20 70 72 6f 70 65 72 20 6e 6f 75 6e 73 2c 20 6f 72 20 ,.initialisms,.proper.nouns,.or.
ff480 61 6e 79 20 6f 74 68 65 72 20 77 6f 72 64 20 74 68 61 74 20 68 61 73 20 63 61 70 69 74 61 6c 69 any.other.word.that.has.capitali
ff4a0 7a 61 74 69 6f 6e 0a 20 20 20 20 20 20 72 75 6c 65 73 20 69 6e 20 77 72 69 74 74 65 6e 20 45 6e zation.......rules.in.written.En
ff4c0 67 6c 69 73 68 20 61 72 65 20 73 75 62 6a 65 63 74 20 74 6f 20 6e 61 6d 69 6e 67 20 63 6f 6e 76 glish.are.subject.to.naming.conv
ff4e0 65 6e 74 69 6f 6e 73 20 6a 75 73 74 20 6c 69 6b 65 20 61 6e 79 20 6f 74 68 65 72 0a 20 20 20 20 entions.just.like.any.other.....
ff500 20 20 77 6f 72 64 2e 20 45 76 65 6e 20 61 63 72 6f 6e 79 6d 73 20 74 68 61 74 20 61 72 65 20 6f ..word..Even.acronyms.that.are.o
ff520 6e 6c 79 20 32 20 6c 65 74 74 65 72 73 20 6c 6f 6e 67 20 61 72 65 20 73 75 62 6a 65 63 74 20 74 nly.2.letters.long.are.subject.t
ff540 6f 20 74 68 65 73 65 0a 20 20 20 20 20 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 2e 0a 20 20 20 20 20 o.these.......conventions.......
ff560 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 69 6c 65 20 6e 61 6d 65 73 .</p>.......<p>.......File.names
ff580 20 66 61 6c 6c 20 69 6e 74 6f 20 74 77 6f 20 63 61 74 65 67 6f 72 69 65 73 3a 20 74 79 70 65 73 .fall.into.two.categories:.types
ff5a0 20 61 6e 64 20 6e 61 6d 65 73 70 61 63 65 73 2e 20 49 66 20 74 68 65 20 66 69 6c 65 0a 20 20 20 .and.namespaces..If.the.file....
ff5c0 20 20 20 28 69 6d 70 6c 69 63 69 74 6c 79 20 61 20 73 74 72 75 63 74 29 20 68 61 73 20 74 6f 70 ...(implicitly.a.struct).has.top
ff5e0 20 6c 65 76 65 6c 20 66 69 65 6c 64 73 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 6e 61 6d 65 .level.fields,.it.should.be.name
ff600 64 20 6c 69 6b 65 20 61 6e 79 0a 20 20 20 20 20 20 6f 74 68 65 72 20 73 74 72 75 63 74 20 77 69 d.like.any.......other.struct.wi
ff620 74 68 20 66 69 65 6c 64 73 20 75 73 69 6e 67 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c th.fields.using.<code.class="fil
ff640 65 22 3e 54 69 74 6c 65 43 61 73 65 3c 2f 63 6f 64 65 3e 2e 20 4f 74 68 65 72 77 69 73 65 2c 0a e">TitleCase</code>..Otherwise,.
ff660 20 20 20 20 20 20 69 74 20 73 68 6f 75 6c 64 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d ......it.should.use.<code.class=
ff680 22 66 69 6c 65 22 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 63 6f 64 65 3e 2e 20 44 69 72 65 63 74 "file">snake_case</code>..Direct
ff6a0 6f 72 79 20 6e 61 6d 65 73 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 ory.names.should.be.......<code.
ff6c0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 63 6f 64 65 3e 2e 0a class="file">snake_case</code>..
ff6e0 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 73 65 ......</p>.......<p>.......These
ff700 20 61 72 65 20 67 65 6e 65 72 61 6c 20 72 75 6c 65 73 20 6f 66 20 74 68 75 6d 62 3b 20 69 66 20 .are.general.rules.of.thumb;.if.
ff720 69 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 64 it.makes.sense.to.do.something.d
ff740 69 66 66 65 72 65 6e 74 2c 0a 20 20 20 20 20 20 64 6f 20 77 68 61 74 20 6d 61 6b 65 73 20 73 65 ifferent,.......do.what.makes.se
ff760 6e 73 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 72 65 20 69 73 20 61 6e nse..For.example,.if.there.is.an
ff780 20 65 73 74 61 62 6c 69 73 68 65 64 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 73 75 63 68 20 61 73 0a .established.convention.such.as.
ff7a0 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 45 ......<code><span.class="line">E
ff7c0 4e 4f 45 4e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 66 6f 6c 6c 6f 77 20 74 68 65 20 NOENT</span></code>,.follow.the.
ff7e0 65 73 74 61 62 6c 69 73 68 65 64 20 63 6f 6e 76 65 6e 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f established.convention........</
ff800 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 61 6d 70 6c 65 73 p>..............<h3.id="Examples
ff820 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 61 6d 70 6c 65 73 22 3e 45 78 61 6d 70 6c "><a.href="#toc-Examples">Exampl
ff840 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 es</a>.<a.class="hdr".href="#Exa
ff860 6d 70 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 mples">..</a></h3>........<figur
ff880 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
ff8a0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 79 6c 65 5f 65 78 61 6d 70 6c 65 2e 7a ite.class="file">style_example.z
ff8c0 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
ff8e0 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=
ff900 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 73 70 61 63 65 5f "tok-kw">const</span>.namespace_
ff920 6e 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 6c 74 69 6e 22 name.=.<span.class="tok-builtin"
ff940 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
ff960 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 69 72 5f 6e 61 6d 65 2f 66 69 6c 65 5f 6e 61 6d 65 2e 7a -str">&quot;dir_name/file_name.z
ff980 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 61 6e 20 63 ig&quot;</span>);</span>.<span.c
ff9a0 6c 61 73 73 3d 22 6c 69 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"
ff9c0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 79 70 65 4e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 >const</span>.TypeName.=.<span.c
ff9e0 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
ffa00 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 69 >(<span.class="tok-str">&quot;di
ffa20 72 5f 6e 61 6d 65 2f 54 79 70 65 4e 61 6d 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e r_name/TypeName.zig&quot;</span>
ffa40 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
ffa60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 6c 6f an.class="tok-kw">var</span>.glo
ffa80 62 61 6c 5f 76 61 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 bal_var:.<span.class="tok-type">
ffaa0 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 i32</span>.=.<span.class="tok-nu
ffac0 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 70 ll">undefined</span>;</span>.<sp
ffae0 61 6e 20 63 6c 61 73 73 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
ffb00 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6e 73 74 5f 6e 61 6d 65 20 3d 20 3c -kw">const</span>.const_name.=.<
ffb20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e span.class="tok-number">42</span
ffb40 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
ffb60 61 6e 20 63 6c 61 73 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
ffb80 72 69 6d 69 74 69 76 65 5f 74 79 70 65 5f 61 6c 69 61 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 rimitive_type_alias.=.<span.clas
ffba0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-type">f32</span>;</span>.
ffbc0 3c 73 70 61 6e 20 63 6c 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="
ffbe0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 72 69 6e 67 5f 61 6c 69 61 tok-kw">const</span>.string_alia
ffc00 73 20 3d 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c s.=.[]<span.class="tok-type">u8<
ffc20 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
ffc40 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
ffc60 61 6e 20 63 6c 61 73 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
ffc80 74 72 75 63 74 4e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 tructName.=.<span.class="tok-kw"
ffca0 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
ffcc0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 69 65 6c 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ass="line">....field:.<span.clas
ffce0 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 6e 3e 0a s="tok-type">i32</span>,</span>.
ffd00 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
ffd20 61 6e 20 63 6c 61 73 73 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
ffd40 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 74 72 75 63 74 41 6c 69 61 73 20 3d 20 -kw">const</span>.StructAlias.=.
ffd60 53 74 72 75 63 74 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 StructName;</span>.<span.class="
ffd80 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"
ffda0 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>.
ffdc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 75 6e 63 74 69 6f 6e 4e 61 6d <span.class="tok-fn">functionNam
ffde0 65 3c 2f 73 70 61 6e 3e 28 70 61 72 61 6d 5f 6e 61 6d 65 3a 20 54 79 70 65 4e 61 6d 65 29 20 3c e</span>(param_name:.TypeName).<
ffe00 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
ffe20 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">..
ffe40 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
ffe60 3e 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 >.functionPointer.=.functionName
ffe80 3b 3c 2f 73 70 61 6e 3e 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">....
ffea0 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 61 6e 20 functionPointer();</span>.<span.
ffec0 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 65 72 class="line">....functionPointer
ffee0 20 3d 20 6f 74 68 65 72 46 75 6e 63 74 69 6f 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .=.otherFunction;</span>.<span.c
fff00 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 65 72 28 lass="line">....functionPointer(
fff20 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">}</
fff40 73 70 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
fff60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 74 lass="tok-kw">const</span>.funct
fff80 69 6f 6e 41 6c 69 61 73 20 3d 20 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a ionAlias.=.functionName;</span>.
fffa0 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
fffc0 20 63 6c 61 73 73 3d 22 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
fffe0 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
100000 22 3e 4c 69 73 74 54 65 6d 70 6c 61 74 65 46 75 6e 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 ">ListTemplateFunction</span>(<s
100020 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
100040 6e 3e 20 43 68 69 6c 64 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 n>.ChildType:.<span.class="tok-t
100060 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">type</span>,.<span.class="t
100080 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 78 65 64 5f 73 69 7a ok-kw">comptime</span>.fixed_siz
1000a0 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 73 69 7a 65 3c e:.<span.class="tok-type">usize<
1000c0 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 /span>).<span.class="tok-type">t
1000e0 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 6c 61 73 73 3d ype</span>.{</span>.<span.class=
100100 22 6c 69 6e 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">
100120 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 4c 69 73 74 28 43 68 69 6c 64 54 79 70 65 2c 20 66 69 return</span>.List(ChildType,.fi
100140 78 65 64 5f 73 69 7a 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 xed_size);</span>.<span.class="l
100160 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"
100180 3e 3c 2f 73 70 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
1001a0 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
1001c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 53 68 6f 72 74 4c 69 73 74 3c 2f 73 70 61 6e 3e .class="tok-fn">ShortList</span>
1001e0 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</
100200 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">
100220 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 type</span>,.<span.class="tok-kw
100240 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">comptime</span>.n:.<span.class
100260 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 ="tok-type">usize</span>).<span.
100280 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 2f class="tok-type">type</span>.{</
1002a0 73 70 61 6e 3e 0a 3c 73 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
1002c0 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>.
1002e0 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
100300 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">.
100320 20 20 20 20 20 20 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 6e 5d 54 2c 3c 2f 73 70 61 6e 3e 0a .......field_name:.[n]T,</span>.
100340 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
100360 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.
100380 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 65 74 68 6f 64 4e 61 6d 65 3c 2f 73 70 61 6e 3e class="tok-fn">methodName</span>
1003a0 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</
1003c0 73 70 61 6e 3e 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 6e span>.{}</span>.<span.class="lin
1003e0 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
100400 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">
100420 3c 2f 73 70 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
100440 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 77 6f 72 64 .class="tok-comment">//.The.word
100460 20 58 4d 4c 20 6c 6f 73 65 73 20 69 74 73 20 63 61 73 69 6e 67 20 77 68 65 6e 20 75 73 65 64 20 .XML.loses.its.casing.when.used.
100480 69 6e 20 5a 69 67 20 69 64 65 6e 74 69 66 69 65 72 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e in.Zig.identifiers.</span></span
1004a0 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
1004c0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 6d 6c 5f 64 6f 63 75 6d ="tok-kw">const</span>.xml_docum
1004e0 65 6e 74 20 3d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ent.=</span>.<span.class="line">
100500 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 26 6c 74 3b ....<span.class="tok-str">\\&lt;
100520 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 26 71 75 6f 74 3b 31 2e 30 26 71 75 6f 74 3b 20 65 6e 63 ?xml.version=&quot;1.0&quot;.enc
100540 6f 64 69 6e 67 3d 26 71 75 6f 74 3b 55 54 46 2d 38 26 71 75 6f 74 3b 3f 26 67 74 3b 3c 2f 73 70 oding=&quot;UTF-8&quot;?&gt;</sp
100560 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">..
100580 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 64 6f ..<span.class="tok-str">\\&lt;do
1005a0 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 20 63 cument&gt;</span></span>.<span.c
1005c0 6c 61 73 73 3d 22 6c 69 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
1005e0 2d 73 74 72 22 3e 5c 5c 26 6c 74 3b 2f 64 6f 63 75 6d 65 6e 74 26 67 74 3b 3c 2f 73 70 61 6e 3e -str">\\&lt;/document&gt;</span>
100600 3c 2f 73 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 </span>.<span.class="line">;</sp
100620 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
100640 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 58 6d 6c 50 61 72 73 ss="tok-kw">const</span>.XmlPars
100660 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 73 74 72 75 63 74 er.=.<span.class="tok-kw">struct
100680 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
1006a0 6e 65 22 3e 20 20 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 ne">....field:.<span.class="tok-
1006c0 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
1006e0 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
100700 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
100720 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">//
100740 20 54 68 65 20 69 6e 69 74 69 61 6c 73 20 42 45 20 28 42 69 67 20 45 6e 64 69 61 6e 29 20 61 72 .The.initials.BE.(Big.Endian).ar
100760 65 20 6a 75 73 74 20 61 6e 6f 74 68 65 72 20 77 6f 72 64 20 69 6e 20 5a 69 67 20 69 64 65 6e 74 e.just.another.word.in.Zig.ident
100780 69 66 69 65 72 20 6e 61 6d 65 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ifier.names.</span></span>.<span
1007a0 20 63 6c 61 73 73 3d 22 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
1007c0 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
1007e0 22 3e 72 65 61 64 55 33 32 42 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">readU32Be</span>().<span.class
100800 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e ="tok-type">u32</span>.{}</span>
100820 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e </code></pre></figure>.......<p>
100840 0a 20 20 20 20 20 20 53 65 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 .......See.the.<a.href="#Zig-Sta
100860 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 ndard-Library">Zig.Standard.Libr
100880 61 72 79 3c 2f 61 3e 20 66 6f 72 20 6d 6f 72 65 20 65 78 61 6d 70 6c 65 73 2e 0a 20 20 20 20 20 ary</a>.for.more.examples.......
1008a0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 6f 63 2d 43 .</p>..............<h3.id="Doc-C
1008c0 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 44 omment-Guidance"><a.href="#toc-D
1008e0 6f 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e 44 6f 63 20 43 6f 6d 6d 65 6e 74 oc-Comment-Guidance">Doc.Comment
100900 20 47 75 69 64 61 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 .Guidance</a>.<a.class="hdr".hre
100920 66 3d 22 23 44 6f 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e c2 a7 3c 2f 61 3e f="#Doc-Comment-Guidance">..</a>
100940 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6d </h3>........<ul>.........<li>Om
100960 69 74 20 61 6e 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 68 61 74 20 69 73 20 72 65 64 75 6e it.any.information.that.is.redun
100980 64 61 6e 74 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 74 68 dant.based.on.the.name.of.the.th
1009a0 69 6e 67 20 62 65 69 6e 67 20 64 6f 63 75 6d 65 6e 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ing.being.documented.</li>......
1009c0 20 20 20 3c 6c 69 3e 44 75 70 6c 69 63 61 74 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f ...<li>Duplicating.information.o
1009e0 6e 74 6f 20 6d 75 6c 74 69 70 6c 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e 73 20 69 nto.multiple.similar.functions.i
100a00 73 20 65 6e 63 6f 75 72 61 67 65 64 20 62 65 63 61 75 73 65 20 69 74 20 68 65 6c 70 73 20 49 44 s.encouraged.because.it.helps.ID
100a20 45 73 20 61 6e 64 20 6f 74 68 65 72 20 74 6f 6f 6c 73 20 70 72 6f 76 69 64 65 20 62 65 74 74 65 Es.and.other.tools.provide.bette
100a40 72 20 68 65 6c 70 20 74 65 78 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 r.help.text.</li>.........<li>Us
100a60 65 20 74 68 65 20 77 6f 72 64 20 3c 73 74 72 6f 6e 67 3e 61 73 73 75 6d 65 3c 2f 73 74 72 6f 6e e.the.word.<strong>assume</stron
100a80 67 3e 20 74 6f 20 69 6e 64 69 63 61 74 65 20 69 6e 76 61 72 69 61 6e 74 73 20 74 68 61 74 20 63 g>.to.indicate.invariants.that.c
100aa0 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f ause.<a.href="#Undefined-Behavio
100ac0 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 77 68 65 6e 20 76 r">Undefined.Behavior</a>.when.v
100ae0 69 6f 6c 61 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 74 68 iolated.</li>.........<li>Use.th
100b00 65 20 77 6f 72 64 20 3c 73 74 72 6f 6e 67 3e 61 73 73 65 72 74 3c 2f 73 74 72 6f 6e 67 3e 20 74 e.word.<strong>assert</strong>.t
100b20 6f 20 69 6e 64 69 63 61 74 65 20 69 6e 76 61 72 69 61 6e 74 73 20 74 68 61 74 20 63 61 75 73 65 o.indicate.invariants.that.cause
100b40 20 3c 65 6d 3e 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 3c 2f 65 6d 3e 20 3c 61 20 68 72 65 66 .<em>safety-checked</em>.<a.href
100b60 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 ="#Undefined-Behavior">Undefined
100b80 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 77 68 65 6e 20 76 69 6f 6c 61 74 65 64 2e 3c 2f 6c 69 .Behavior</a>.when.violated.</li
100ba0 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 >.......</ul>...................
100bc0 20 20 3c 68 32 20 69 64 3d 22 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 3c 61 20 68 72 ..<h2.id="Source-Encoding"><a.hr
100be0 65 66 3d 22 23 74 6f 63 2d 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 53 6f 75 72 63 65 ef="#toc-Source-Encoding">Source
100c00 20 45 6e 63 6f 64 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 .Encoding</a>.<a.class="hdr".hre
100c20 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e f="#Source-Encoding">..</a></h2>
100c40 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 65 6e ........<p>Zig.source.code.is.en
100c60 63 6f 64 65 64 20 69 6e 20 55 54 46 2d 38 2e 20 41 6e 20 69 6e 76 61 6c 69 64 20 55 54 46 2d 38 coded.in.UTF-8..An.invalid.UTF-8
100c80 20 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 72 65 73 75 6c 74 73 20 69 6e 20 61 20 63 6f 6d 70 .byte.sequence.results.in.a.comp
100ca0 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 72 6f 75 67 68 6f ile.error.</p>.......<p>Througho
100cc0 75 74 20 61 6c 6c 20 7a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 28 69 6e 63 6c 75 64 69 6e ut.all.zig.source.code.(includin
100ce0 67 20 69 6e 20 63 6f 6d 6d 65 6e 74 73 29 2c 20 73 6f 6d 65 20 63 6f 64 65 20 70 6f 69 6e 74 73 g.in.comments),.some.code.points
100d00 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 .are.never.allowed:</p>.......<u
100d20 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 73 63 69 69 20 63 6f 6e 74 72 6f 6c 20 63 68 61 l>.........<li>Ascii.control.cha
100d40 72 61 63 74 65 72 73 2c 20 65 78 63 65 70 74 20 66 6f 72 20 55 2b 30 30 30 61 20 28 4c 46 29 2c racters,.except.for.U+000a.(LF),
100d60 20 55 2b 30 30 30 64 20 28 43 52 29 2c 20 61 6e 64 20 55 2b 30 30 30 39 20 28 48 54 29 3a 20 55 .U+000d.(CR),.and.U+0009.(HT):.U
100d80 2b 30 30 30 30 20 2d 20 55 2b 30 30 30 38 2c 20 55 2b 30 30 30 62 20 2d 20 55 2b 30 30 30 63 2c +0000.-.U+0008,.U+000b.-.U+000c,
100da0 20 55 2b 30 30 30 65 20 2d 20 55 2b 30 30 30 31 66 2c 20 55 2b 30 30 37 66 2e 3c 2f 6c 69 3e 0a .U+000e.-.U+0001f,.U+007f.</li>.
100dc0 20 20 20 20 20 20 20 20 3c 6c 69 3e 4e 6f 6e 2d 41 73 63 69 69 20 55 6e 69 63 6f 64 65 20 6c 69 ........<li>Non-Ascii.Unicode.li
100de0 6e 65 20 65 6e 64 69 6e 67 73 3a 20 55 2b 30 30 38 35 20 28 4e 45 4c 29 2c 20 55 2b 32 30 32 38 ne.endings:.U+0085.(NEL),.U+2028
100e00 20 28 4c 53 29 2c 20 55 2b 32 30 32 39 20 28 50 53 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c .(LS),.U+2029.(PS).</li>.......<
100e20 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 46 20 28 62 79 74 65 20 76 61 /ul>.......<p>.......LF.(byte.va
100e40 6c 75 65 20 30 78 30 61 2c 20 63 6f 64 65 20 70 6f 69 6e 74 20 55 2b 30 30 30 61 2c 20 3c 63 6f lue.0x0a,.code.point.U+000a,.<co
100e60 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
100e80 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 6e 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-str">'\n'</span></span></
100ea0 63 6f 64 65 3e 29 20 69 73 20 74 68 65 20 6c 69 6e 65 20 74 65 72 6d 69 6e 61 74 6f 72 20 69 6e code>).is.the.line.terminator.in
100ec0 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 62 79 74 .Zig.source.code........This.byt
100ee0 65 20 76 61 6c 75 65 20 74 65 72 6d 69 6e 61 74 65 73 20 65 76 65 72 79 20 6c 69 6e 65 20 6f 66 e.value.terminates.every.line.of
100f00 20 7a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 65 78 63 65 70 74 20 74 68 65 20 6c 61 73 74 .zig.source.code.except.the.last
100f20 20 6c 69 6e 65 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 .line.of.the.file........It.is.r
100f40 65 63 6f 6d 6d 65 6e 64 65 64 20 74 68 61 74 20 6e 6f 6e 2d 65 6d 70 74 79 20 73 6f 75 72 63 65 ecommended.that.non-empty.source
100f60 20 66 69 6c 65 73 20 65 6e 64 20 77 69 74 68 20 61 6e 20 65 6d 70 74 79 20 6c 69 6e 65 2c 20 77 .files.end.with.an.empty.line,.w
100f80 68 69 63 68 20 6d 65 61 6e 73 20 74 68 65 20 6c 61 73 74 20 62 79 74 65 20 77 6f 75 6c 64 20 62 hich.means.the.last.byte.would.b
100fa0 65 20 30 78 30 61 20 28 4c 46 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 e.0x0a.(LF)........</p>.......<p
100fc0 3e 0a 20 20 20 20 20 20 45 61 63 68 20 4c 46 20 6d 61 79 20 62 65 20 69 6d 6d 65 64 69 61 74 65 >.......Each.LF.may.be.immediate
100fe0 6c 79 20 70 72 65 63 65 64 65 64 20 62 79 20 61 20 73 69 6e 67 6c 65 20 43 52 20 28 62 79 74 65 ly.preceded.by.a.single.CR.(byte
101000 20 76 61 6c 75 65 20 30 78 30 64 2c 20 63 6f 64 65 20 70 6f 69 6e 74 20 55 2b 30 30 30 64 2c 20 .value.0x0d,.code.point.U+000d,.
101020 3c 63 6f 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
101040 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 72 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e lass="tok-str">'\r'</span></span
101060 3e 3c 2f 63 6f 64 65 3e 29 0a 20 20 20 20 20 20 74 6f 20 66 6f 72 6d 20 61 20 57 69 6e 64 6f 77 ></code>).......to.form.a.Window
101080 73 20 73 74 79 6c 65 20 6c 69 6e 65 20 65 6e 64 69 6e 67 2c 20 62 75 74 20 74 68 69 73 20 69 73 s.style.line.ending,.but.this.is
1010a0 20 64 69 73 63 6f 75 72 61 67 65 64 2e 0a 20 20 20 20 20 20 41 20 43 52 20 69 6e 20 61 6e 79 20 .discouraged........A.CR.in.any.
1010c0 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....
1010e0 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
101100 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
101120 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
101140 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'</
101160 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
101180 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
1011a0 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
1011c0 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
1011e0 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
101200 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
101220 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.
101240 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
101260 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>.....
101280 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 72 75 6e 6e 69 6e 67 20 3c 6b ..<p>.......Note.that.running.<k
1012a0 62 64 3e 7a 69 67 20 66 6d 74 3c 2f 6b 62 64 3e 20 6f 6e 20 61 20 73 6f 75 72 63 65 20 66 69 6c bd>zig.fmt</kbd>.on.a.source.fil
1012c0 65 20 77 69 6c 6c 20 69 6d 70 6c 65 6d 65 6e 74 20 61 6c 6c 20 72 65 63 6f 6d 6d 65 6e 64 61 74 e.will.implement.all.recommendat
1012e0 69 6f 6e 73 20 6d 65 6e 74 69 6f 6e 65 64 20 68 65 72 65 2e 0a 20 20 20 20 20 20 4e 6f 74 65 20 ions.mentioned.here........Note.
101300 61 6c 73 6f 20 74 68 61 74 20 74 68 65 20 73 74 61 67 65 31 20 63 6f 6d 70 69 6c 65 72 20 64 6f also.that.the.stage1.compiler.do
101320 65 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a es.<a.href="https://github.com/z
101340 69 67 6c 61 6e 67 2f 7a 69 67 2f 77 69 6b 69 2f 46 41 51 23 77 68 79 2d 64 6f 65 73 2d 7a 69 67 iglang/zig/wiki/FAQ#why-does-zig
101360 2d 66 6f 72 63 65 2d 6d 65 2d 74 6f 2d 75 73 65 2d 73 70 61 63 65 73 2d 69 6e 73 74 65 61 64 2d -force-me-to-use-spaces-instead-
101380 6f 66 2d 74 61 62 73 22 3e 6e 6f 74 20 79 65 74 20 73 75 70 70 6f 72 74 20 43 52 20 6f 72 20 48 of-tabs">not.yet.support.CR.or.H
1013a0 54 3c 2f 61 3e 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 20 T</a>.control.characters........
1013c0 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 61 74 20 61 </p>.......<p>.......Note.that.a
1013e0 20 74 6f 6f 6c 20 72 65 61 64 69 6e 67 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 61 .tool.reading.Zig.source.code.ca
101400 6e 20 6d 61 6b 65 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 69 66 20 74 68 65 20 73 6f 75 72 63 65 n.make.assumptions.if.the.source
101420 20 63 6f 64 65 20 69 73 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 63 6f 72 72 65 63 74 20 5a .code.is.assumed.to.be.correct.Z
101440 69 67 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 77 68 65 6e ig.code........For.example,.when
101460 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 20 65 6e 64 73 20 6f 66 20 6c 69 6e 65 73 2c 20 .identifying.the.ends.of.lines,.
101480 61 20 74 6f 6f 6c 20 63 61 6e 20 75 73 65 20 61 20 6e 61 69 76 65 20 73 65 61 72 63 68 20 73 75 a.tool.can.use.a.naive.search.su
1014a0 63 68 20 61 73 20 3c 63 6f 64 65 3e 2f 5c 6e 2f 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 6f ch.as.<code>/\n/</code>,.......o
1014c0 72 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 6d 73 64 6e 2e 6d 69 63 72 6f r.an.<a.href="https://msdn.micro
1014e0 73 6f 66 74 2e 63 6f 6d 2f 65 6e 2d 75 73 2f 6c 69 62 72 61 72 79 2f 64 64 34 30 39 37 39 37 2e soft.com/en-us/library/dd409797.
101500 61 73 70 78 22 3e 61 64 76 61 6e 63 65 64 3c 2f 61 3e 0a 20 20 20 20 20 20 73 65 61 72 63 68 20 aspx">advanced</a>.......search.
101520 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 2f 5c 72 5c 6e 3f 7c 5b 5c 6e 5c 75 30 30 38 35 5c 75 such.as.<code>/\r\n?|[\n\u0085\u
101540 32 30 32 38 5c 75 32 30 32 39 5d 2f 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 69 6e 20 65 69 74 68 2028\u2029]/</code>,.and.in.eith
101560 65 72 20 63 61 73 65 20 6c 69 6e 65 20 65 6e 64 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 63 6f 72 er.case.line.endings.will.be.cor
101580 72 65 63 74 6c 79 20 69 64 65 6e 74 69 66 69 65 64 2e 0a 20 20 20 20 20 20 46 6f 72 20 61 6e 6f rectly.identified........For.ano
1015a0 74 68 65 72 20 65 78 61 6d 70 6c 65 2c 20 77 68 65 6e 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 ther.example,.when.identifying.t
1015c0 68 65 20 77 68 69 74 65 73 70 61 63 65 20 62 65 66 6f 72 65 20 74 68 65 20 66 69 72 73 74 20 74 he.whitespace.before.the.first.t
1015e0 6f 6b 65 6e 20 6f 6e 20 61 20 6c 69 6e 65 2c 0a 20 20 20 20 20 20 61 20 74 6f 6f 6c 20 63 61 6e oken.on.a.line,.......a.tool.can
101600 20 65 69 74 68 65 72 20 75 73 65 20 61 20 6e 61 69 76 65 20 73 65 61 72 63 68 20 73 75 63 68 20 .either.use.a.naive.search.such.
101620 61 73 20 3c 63 6f 64 65 3e 2f 5b 20 5c 74 5d 2f 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 6f as.<code>/[.\t]/</code>,.......o
101640 72 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 74 63 33 39 2e 65 73 2f 65 63 r.an.<a.href="https://tc39.es/ec
101660 6d 61 32 36 32 2f 23 73 65 63 2d 63 68 61 72 61 63 74 65 72 63 6c 61 73 73 65 73 63 61 70 65 22 ma262/#sec-characterclassescape"
101680 3e 61 64 76 61 6e 63 65 64 3c 2f 61 3e 20 73 65 61 72 63 68 20 73 75 63 68 20 61 73 20 3c 63 6f >advanced</a>.search.such.as.<co
1016a0 64 65 3e 2f 5c 73 2f 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 61 6e 64 20 69 6e 20 65 69 74 de>/\s/</code>,.......and.in.eit
1016c0 68 65 72 20 63 61 73 65 20 77 68 69 74 65 73 70 61 63 65 20 77 69 6c 6c 20 62 65 20 63 6f 72 72 her.case.whitespace.will.be.corr
1016e0 65 63 74 6c 79 20 69 64 65 6e 74 69 66 69 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ectly.identified........</p>....
101700 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 ...........<h2.id="Keyword-Refer
101720 65 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4b 65 79 77 6f 72 64 2d 52 65 66 65 ence"><a.href="#toc-Keyword-Refe
101740 72 65 6e 63 65 22 3e 4b 65 79 77 6f 72 64 20 52 65 66 65 72 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 rence">Keyword.Reference</a>.<a.
101760 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 class="hdr".href="#Keyword-Refer
101780 65 6e 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c ence">..</a></h2>........<div.cl
1017a0 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c ass="table-wrapper">.......<tabl
1017c0 65 3e 0a 20 20 20 20 20 20 20 20 3c 63 61 70 74 69 6f 6e 3e 4b 65 79 77 6f 72 64 73 3c 2f 63 61 e>.........<caption>Keywords</ca
1017e0 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c ption>.........<thead>.........<
101800 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 63 6f 6c 22 3e 4b 65 tr>...........<th.scope="col">Ke
101820 79 77 6f 72 64 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 yword</th>...........<th.scope="
101840 63 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 3c 2f col">Description</th>.........</
101860 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 tr>.........</thead>.........<tb
101880 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 ody>.........<tr>...........<th.
1018a0 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
1018c0 6f 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
1018e0 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 3e 3c ss="tok-kw">align</span></span><
101900 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>....
101920 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 3c 73 .......<td>.............<code><s
101940 70 61 6e 20 63 6c 61 73 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
101960 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 6f 64 65 3e k-kw">align</span></span></code>
101980 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 61 6c 69 67 .can.be.used.to.specify.the.alig
1019a0 6e 6d 65 6e 74 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 nment.of.a.pointer..............
1019c0 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 66 74 65 72 20 61 20 76 61 72 69 It.can.also.be.used.after.a.vari
1019e0 61 62 6c 65 20 6f 72 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 74 6f 20 able.or.function.declaration.to.
101a00 73 70 65 63 69 66 79 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 70 6f 69 6e 74 65 72 specify.the.alignment.of.pointer
101a20 73 20 74 6f 20 74 68 61 74 20 76 61 72 69 61 62 6c 65 20 6f 72 20 66 75 6e 63 74 69 6f 6e 2e 0a s.to.that.variable.or.function..
101a40 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>...............<
101a60 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 6c 69 67 6e 6d 65 6e 74 22 li>See.also.<a.href="#Alignment"
101a80 3e 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 >Alignment</a></li>.............
101aa0 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>.........</
101ac0 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
101ae0 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
101b00 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
101b20 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 61 s="tok-kw">allowzero</span></spa
101b40 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>.
101b60 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 70 ..........<td>.............The.p
101b80 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 20 63 6c 61 ointer.attribute.<code><span.cla
101ba0 73 73 3d 22 6c 69 6e 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 ss="line"><span.class="tok-kw">a
101bc0 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 3e 20 61 6c llowzero</span></span></code>.al
101be0 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 73 73 20 7a lows.a.pointer.to.have.address.z
101c00 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 20 20 20 20 ero..............<ul>...........
101c20 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 6c 6c 6f 77 ....<li>See.also.<a.href="#allow
101c40 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 zero">allowzero</a></li>........
101c60 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>......
101c80 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>...........
101ca0 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
101cc0 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
101ce0 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 73 70 61 6e .class="tok-kw">and</span></span
101d00 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>..
101d20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 62 6f .........<td>.............The.bo
101d40 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 6c 61 73 73 olean.operator.<code><span.class
101d60 3d 22 6c 69 6e 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 64 ="line"><span.class="tok-kw">and
101d80 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 20 20 </span></span></code>...........
101da0 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 6c ...<ul>...............<li>See.al
101dc0 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 61 74 6f 72 so.<a.href="#Operators">Operator
101de0 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>....
101e00 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>......
101e20 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
101e40 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.
101e60 63 6c 61 73 73 3d 22 6c 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
101e80 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 3c ">anyframe</span></span></code><
101ea0 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>...........
101ec0 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 <td>.............<code><span.cla
101ee0 73 73 3d 22 6c 69 6e 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 ss="line"><span.class="tok-kw">a
101f00 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 20 63 61 6e nyframe</span></span></code>.can
101f20 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 62 6c 65 73 .be.used.as.a.type.for.variables
101f40 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 74 69 6f 6e .which.hold.pointers.to.function
101f60 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 20 20 20 20 .frames..............<ul>.......
101f80 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 41 ........<li>See.also.<a.href="#A
101fa0 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 3c sync-Functions">Async.Functions<
101fc0 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 /a></li>.............</ul>......
101fe0 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 .....</td>.........</tr>........
102000 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e .<tr>...........<th.scope="row">
102020 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
102040 61 73 73 3d 22 6c 69 6e 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">
102060 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 72 anytype</span></span></code></pr
102080 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
1020a0 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 65 74 65 72 >.............Function.parameter
1020c0 73 20 61 6e 64 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 20 63 61 6e 20 62 65 20 64 65 63 6c 61 s.and.struct.fields.can.be.decla
1020e0 72 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 red.with.<code><span.class="line
102100 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 65 3c 2f "><span.class="tok-kw">anytype</
102120 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 span></span></code>.in.place.of.
102140 74 68 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 77 the.type..............The.type.w
102160 69 6c 6c 20 62 65 20 69 6e 66 65 72 72 65 64 20 77 68 65 72 65 20 74 68 65 20 66 75 6e 63 74 69 ill.be.inferred.where.the.functi
102180 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 6f 72 20 74 68 65 20 73 74 72 75 63 74 20 69 73 20 69 6e on.is.called.or.the.struct.is.in
1021a0 73 74 61 6e 74 69 61 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 stantiated..............<ul>....
1021c0 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=
1021e0 22 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 "#Function-Parameter-Type-Infere
102200 6e 63 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 72 20 54 79 70 65 20 49 6e 66 nce">Function.Parameter.Type.Inf
102220 65 72 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c erence</a></li>.............</ul
102240 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>.
102260 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
102280 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><
1022a0 73 70 61 6e 20 63 6c 61 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
1022c0 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ok-kw">asm</span></span></code><
1022e0 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>...........
102300 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 <td>.............<code><span.cla
102320 73 73 3d 22 6c 69 6e 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 ss="line"><span.class="tok-kw">a
102340 73 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 67 69 6e 73 20 61 sm</span></span></code>.begins.a
102360 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 69 6f 6e 2e 20 54 68 n.inline.assembly.expression..Th
102380 69 73 20 61 6c 6c 6f 77 73 20 66 6f 72 20 64 69 72 65 63 74 6c 79 20 63 6f 6e 74 72 6f 6c 6c 69 is.allows.for.directly.controlli
1023a0 6e 67 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 64 20 6f 6e ng.the.machine.code.generated.on
1023c0 20 63 6f 6d 70 69 6c 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 .compilation..............<ul>..
1023e0 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
102400 66 3d 22 23 41 73 73 65 6d 62 6c 79 22 3e 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a f="#Assembly">Assembly</a></li>.
102420 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
102440 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>....
102460 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">.........
102480 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
1024a0 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 79 6e 63 3c 2f 73 70 "><span.class="tok-kw">async</sp
1024c0 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 20 an></span></code></pre>.........
1024e0 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ..</th>...........<td>..........
102500 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
102520 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 n.class="tok-kw">async</span></s
102540 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 62 65 66 6f 72 65 20 61 pan></code>.can.be.used.before.a
102560 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 74 6f 20 67 65 74 20 61 20 70 6f 69 6e 74 65 72 20 .function.call.to.get.a.pointer.
102580 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 66 72 61 6d 65 20 77 68 65 6e 20 69 74 20 to.the.function's.frame.when.it.
1025a0 73 75 73 70 65 6e 64 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 suspends..............<ul>......
1025c0 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="#
1025e0 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
102600 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>.....
102620 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>.......
102640 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"
102660 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
102680 6c 61 73 73 3d 22 6c 69 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"
1026a0 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 3e 3c 2f 70 72 65 >await</span></span></code></pre
1026c0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e >...........</th>...........<td>
1026e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .............<code><span.class="
102700 6c 69 6e 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 77 61 69 74 line"><span.class="tok-kw">await
102720 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
102740 64 20 74 6f 20 73 75 73 70 65 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 75 6e 63 74 69 6f d.to.suspend.the.current.functio
102760 6e 20 75 6e 74 69 6c 20 74 68 65 20 66 72 61 6d 65 20 70 72 6f 76 69 64 65 64 20 61 66 74 65 72 n.until.the.frame.provided.after
102780 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 73 .the.<code><span.class="line"><s
1027a0 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><
1027c0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 6d 70 6c 65 74 65 73 2e 0a 20 20 20 20 20 20 20 /span></code>.completes.........
1027e0 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
102800 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><
102820 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 70 69 65 73 20 74 68 65 20 76 61 6c 75 65 20 72 /span></code>.copies.the.value.r
102840 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e eturned.from.the.target.function
102860 27 73 20 66 72 61 6d 65 20 74 6f 20 74 68 65 20 63 61 6c 6c 65 72 2e 0a 20 20 20 20 20 20 20 20 's.frame.to.the.caller..........
102880 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
1028a0 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
1028c0 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>.........
1028e0 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>.......
102900 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>...........<
102920 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
102940 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.
102960 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 class="tok-kw">break</span></spa
102980 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>.
1029a0 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
1029c0 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=
1029e0 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 63 6f "tok-kw">break</span></span></co
102a00 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 77 69 74 68 20 61 20 62 6c 6f 63 6b 20 6c 61 62 de>.can.be.used.with.a.block.lab
102a20 65 6c 20 74 6f 20 72 65 74 75 72 6e 20 61 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 62 6c el.to.return.a.value.from.the.bl
102a40 6f 63 6b 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 ock..............It.can.also.be.
102a60 75 73 65 64 20 74 6f 20 65 78 69 74 20 61 20 6c 6f 6f 70 20 62 65 66 6f 72 65 20 69 74 65 72 61 used.to.exit.a.loop.before.itera
102a80 74 69 6f 6e 20 63 6f 6d 70 6c 65 74 65 73 20 6e 61 74 75 72 61 6c 6c 79 2e 0a 20 20 20 20 20 20 tion.completes.naturally........
102aa0 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
102ac0 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 62 6c 6f 63 6b 73 22 3e 62 6c 6f 63 6b 73 3c 2f .also.<a.href="#blocks">blocks</
102ae0 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 2c 20 a>,.<a.href="#while">while</a>,.
102b00 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 20 20 20 20 <a.href="#for">for</a></li>.....
102b20 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>...
102b40 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>........
102b60 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...<th.scope="row">.............
102b80 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
102ba0 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 3e 3c pan.class="tok-kw">catch</span><
102bc0 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>...........</
102be0 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>.............<
102c00 63 6f 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
102c20 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ass="tok-kw">catch</span></span>
102c40 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 65 76 61 6c 75 61 74 65 20 </code>.can.be.used.to.evaluate.
102c60 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 an.expression.if.the.expression.
102c80 62 65 66 6f 72 65 20 69 74 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 61 6e 20 65 72 72 6f 72 2e before.it.evaluates.to.an.error.
102ca0 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 61 66 74 65 .............The.expression.afte
102cc0 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 69 6e 65 22 3e 3c r.the.<code><span.class="line"><
102ce0 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 3e span.class="tok-kw">catch</span>
102d00 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 63 61 </span></code>.can.optionally.ca
102d20 70 74 75 72 65 20 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 pture.the.error.value...........
102d40 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 6c ...<ul>...............<li>See.al
102d60 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 63 61 74 63 68 22 3e 63 61 74 63 68 3c 2f 61 3e 2c 20 3c so.<a.href="#catch">catch</a>,.<
102d80 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 61 a.href="#Operators">Operators</a
102da0 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>........
102dc0 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>.........<
102de0 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">..
102e00 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
102e20 73 3d 22 6c 69 6e 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
102e40 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 3c 2f 70 72 65 mptime</span></span></code></pre
102e60 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e >...........</th>...........<td>
102e80 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .............<code><span.class="
102ea0 6c 69 6e 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
102ec0 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 62 65 66 6f 72 65 20 ime</span></span></code>.before.
102ee0 61 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6c 61 62 a.declaration.can.be.used.to.lab
102f00 65 6c 20 76 61 72 69 61 62 6c 65 73 20 6f 72 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 61 6d 65 74 el.variables.or.function.paramet
102f20 65 72 73 20 61 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 ers.as.known.at.compile.time....
102f40 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 74 6f ..........It.can.also.be.used.to
102f60 20 67 75 61 72 61 6e 74 65 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 72 75 6e 20 .guarantee.an.expression.is.run.
102f80 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 3c 75 6c at.compile.time..............<ul
102fa0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 >...............<li>See.also.<a.
102fc0 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
102fe0 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>...........<
103000 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>.
103020 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">......
103040 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
103060 69 6e 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<
103080 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>......
1030a0 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>.......
1030c0 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"><
1030e0 73 70 61 6e 20 63 6c 61 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>
103100 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 76 61 72 69 61 62 </span></code>.declares.a.variab
103120 6c 65 20 74 68 61 74 20 63 61 6e 20 6e 6f 74 20 62 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 le.that.can.not.be.modified.....
103140 20 20 20 20 20 20 20 20 20 55 73 65 64 20 61 73 20 61 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 .........Used.as.a.pointer.attri
103160 62 75 74 65 2c 20 69 74 20 64 65 6e 6f 74 65 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 66 65 72 bute,.it.denotes.the.value.refer
103180 65 6e 63 65 64 20 62 79 20 74 68 65 20 70 6f 69 6e 74 65 72 20 63 61 6e 6e 6f 74 20 62 65 20 6d enced.by.the.pointer.cannot.be.m
1031a0 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 20 20 20 odified..............<ul>.......
1031c0 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 56 ........<li>See.also.<a.href="#V
1031e0 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 20 20 20 ariables">Variables</a></li>....
103200 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>..
103220 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>.......
103240 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">............
103260 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"><
103280 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 span.class="tok-kw">continue</sp
1032a0 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 20 an></span></code></pre>.........
1032c0 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ..</th>...........<td>..........
1032e0 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
103300 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 3e n.class="tok-kw">continue</span>
103320 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 69 6e 20 61 20 </span></code>.can.be.used.in.a.
103340 6c 6f 6f 70 20 74 6f 20 6a 75 6d 70 20 62 61 63 6b 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 loop.to.jump.back.to.the.beginni
103360 6e 67 20 6f 66 20 74 68 65 20 6c 6f 6f 70 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e ng.of.the.loop..............<ul>
103380 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
1033a0 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d ref="#while">while</a>,.<a.href=
1033c0 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 "#for">for</a></li>.............
1033e0 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>.........</
103400 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
103420 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
103440 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
103460 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-kw">defer</span></span></
103480 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>.....
1034a0 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
1034c0 61 6e 20 63 6c 61 73 73 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
1034e0 2d 6b 77 22 3e 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 -kw">defer</span></span></code>.
103500 77 69 6c 6c 20 65 78 65 63 75 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 68 65 6e 20 will.execute.an.expression.when.
103520 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 6c 65 61 76 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 control.flow.leaves.the.current.
103540 62 6c 6f 63 6b 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 block..............<ul>.........
103560 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 64 65 66 ......<li>See.also.<a.href="#def
103580 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c er">defer</a></li>.............<
1035a0 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 /ul>...........</td>.........</t
1035c0 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 r>.........<tr>...........<th.sc
1035e0 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 ope="row">.............<pre><cod
103600 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
103620 3d 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 ="tok-kw">else</span></span></co
103640 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>.......
103660 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
103680 20 63 6c 61 73 73 3d 22 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
1036a0 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 63 61 6e w">else</span></span></code>.can
1036c0 20 62 65 20 75 73 65 64 20 74 6f 20 70 72 6f 76 69 64 65 20 61 6e 20 61 6c 74 65 72 6e 61 74 65 .be.used.to.provide.an.alternate
1036e0 20 62 72 61 6e 63 68 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .branch.for.<code><span.class="l
103700 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 ine"><span.class="tok-kw">if</sp
103720 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 63 an></span></code>,.<code><span.c
103740 6c 61 73 73 3d 22 6c 69 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"
103760 3e 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 2c 0a 20 20 >switch</span></span></code>,...
103780 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
1037a0 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 3c 2f 73 e"><span.class="tok-kw">while</s
1037c0 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 6f 64 65 3e 3c 73 pan></span></code>,.and.<code><s
1037e0 70 61 6e 20 63 6c 61 73 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
103800 6b 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 20 65 k-kw">for</span></span></code>.e
103820 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 xpressions..............<ul>....
103840 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 65 72 20 61 6e 20 ...........<li>If.used.after.an.
103860 69 66 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 63 68 20 77 if.expression,.the.else.branch.w
103880 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 76 61 6c 75 ill.be.executed.if.the.test.valu
1038a0 65 20 72 65 74 75 72 6e 73 20 66 61 6c 73 65 2c 20 6e 75 6c 6c 2c 20 6f 72 20 61 6e 20 65 72 72 e.returns.false,.null,.or.an.err
1038c0 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 75 73 or.</li>...............<li>If.us
1038e0 65 64 20 77 69 74 68 69 6e 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 ed.within.a.switch.expression,.t
103900 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 74 65 64 20 he.else.branch.will.be.executed.
103920 69 66 20 74 68 65 20 74 65 73 74 20 76 61 6c 75 65 20 6d 61 74 63 68 65 73 20 6e 6f 20 6f 74 68 if.the.test.value.matches.no.oth
103940 65 72 20 63 61 73 65 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 er.cases.</li>...............<li
103960 3e 49 66 20 75 73 65 64 20 61 66 74 65 72 20 61 20 6c 6f 6f 70 20 65 78 70 72 65 73 73 69 6f 6e >If.used.after.a.loop.expression
103980 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 74 ,.the.else.branch.will.be.execut
1039a0 65 64 20 69 66 20 74 68 65 20 6c 6f 6f 70 20 66 69 6e 69 73 68 65 73 20 77 69 74 68 6f 75 74 20 ed.if.the.loop.finishes.without.
1039c0 62 72 65 61 6b 69 6e 67 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 breaking.</li>...............<li
1039e0 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 2c 20 >See.also.<a.href="#if">if</a>,.
103a00 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 2c 20 3c 61 <a.href="#switch">switch</a>,.<a
103a20 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 .href="#while">while</a>,.<a.hre
103a40 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 f="#for">for</a></li>...........
103a60 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>.........
103a80 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
103aa0 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c .scope="row">.............<pre><
103ac0 63 6f 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
103ae0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ass="tok-kw">enum</span></span><
103b00 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>....
103b20 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 3c 73 .......<td>.............<code><s
103b40 70 61 6e 20 63 6c 61 73 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
103b60 6b 2d 6b 77 22 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 20 k-kw">enum</span></span></code>.
103b80 64 65 66 69 6e 65 73 20 61 6e 20 65 6e 75 6d 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 defines.an.enum.type............
103ba0 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 ..<ul>...............<li>See.als
103bc0 6f 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a o.<a.href="#enum">enum</a></li>.
103be0 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
103c00 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>....
103c20 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">.........
103c40 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
103c60 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c "><span.class="tok-kw">errdefer<
103c80 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>......
103ca0 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>.......
103cc0 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"><
103ce0 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
103d00 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 20 61 an></span></code>.will.execute.a
103d20 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 68 65 6e 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 6c n.expression.when.control.flow.l
103d40 65 61 76 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 6c 6f 63 6b 20 69 66 20 74 68 65 20 66 eaves.the.current.block.if.the.f
103d60 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 unction.returns.an.error........
103d80 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
103da0 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 65 72 72 64 65 66 65 72 22 3e 65 72 72 64 65 66 .also.<a.href="#errdefer">errdef
103dc0 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 2f 75 6c 3e 0a 20 20 er</a></li>.............</ul>...
103de0 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>.....
103e00 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
103e20 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
103e40 20 63 6c 61 73 73 3d 22 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
103e60 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 3c 2f 70 w">error</span></span></code></p
103e80 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
103ea0 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
103ec0 3d 22 6c 69 6e 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 72 72 ="line"><span.class="tok-kw">err
103ee0 6f 72 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 73 20 or</span></span></code>.defines.
103f00 61 6e 20 65 72 72 6f 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a an.error.type..............<ul>.
103f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 ..............<li>See.also.<a.hr
103f40 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 20 20 20 ef="#Errors">Errors</a></li>....
103f60 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>..
103f80 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>.......
103fa0 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">............
103fc0 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"><
103fe0 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
104000 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>...........
104020 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>............
104040 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.
104060 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 70 class="tok-kw">export</span></sp
104080 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 76 an></code>.makes.a.function.or.v
1040a0 61 72 69 61 62 6c 65 20 65 78 74 65 72 6e 61 6c 6c 79 20 76 69 73 69 62 6c 65 20 69 6e 20 74 68 ariable.externally.visible.in.th
1040c0 65 20 67 65 6e 65 72 61 74 65 64 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 e.generated.object.file.........
1040e0 20 20 20 20 20 45 78 70 6f 72 74 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 64 65 66 61 75 6c 74 20 .....Exported.functions.default.
104100 74 6f 20 74 68 65 20 43 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 2e 0a 20 20 20 to.the.C.calling.convention.....
104120 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>
104140 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 73 22 3e 46 75 See.also.<a.href="#Functions">Fu
104160 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 20 20 20 20 3c 2f 75 nctions</a></li>.............</u
104180 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>
1041a0 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
1041c0 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>
1041e0 3c 73 70 61 6e 20 63 6c 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="
104200 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
104220 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>.......
104240 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
104260 20 63 6c 61 73 73 3d 22 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
104280 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 64 65 3e 20 63 w">extern</span></span></code>.c
1042a0 61 6e 20 62 65 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 an.be.used.to.declare.a.function
1042c0 20 6f 72 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 72 65 73 6f 6c 76 .or.variable.that.will.be.resolv
1042e0 65 64 20 61 74 20 6c 69 6e 6b 20 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 73 74 ed.at.link.time,.when.linking.st
104300 61 74 69 63 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 61 74 20 72 75 6e 74 69 atically.............or.at.runti
104320 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2e 0a 20 20 me,.when.linking.dynamically....
104340 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
104360 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 73 22 3e 46 >See.also.<a.href="#Functions">F
104380 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 20 20 20 20 3c 2f unctions</a></li>.............</
1043a0 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 ul>...........</td>.........</tr
1043c0 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
1043e0 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 pe="row">.............<pre><code
104400 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=
104420 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 3c 2f "tok-null">false</span></span></
104440 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>.....
104460 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 65 ......<td>.............The.boole
104480 61 6e 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 an.value.<code><span.class="line
1044a0 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 2f "><span.class="tok-null">false</
1044c0 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>.............
1044e0 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f .<ul>...............<li>See.also
104500 20 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e 50 72 69 .<a.href="#Primitive-Values">Pri
104520 6d 69 74 69 76 65 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 mitive.Values</a></li>..........
104540 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>........
104560 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
104580 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>
1045a0 3c 63 6f 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
1045c0 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 2f lass="tok-kw">fn</span></span></
1045e0 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>.....
104600 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
104620 61 6e 20 63 6c 61 73 73 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
104640 2d 6b 77 22 3e 66 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 -kw">fn</span></span></code>.dec
104660 6c 61 72 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 lares.a.function..............<u
104680 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 l>...............<li>See.also.<a
1046a0 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 61 3e .href="#Functions">Functions</a>
1046c0 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>.........
1046e0 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 ..</td>.........</tr>.........<t
104700 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 20 r>...........<th.scope="row">...
104720 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ..........<pre><code><span.class
104740 3d 22 6c 69 6e 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 ="line"><span.class="tok-kw">for
104760 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>.....
104780 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>......
1047a0 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 6c 69 6e 65 .......A.<code><span.class="line
1047c0 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 70 61 6e "><span.class="tok-kw">for</span
1047e0 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 20 63 61 6e 20 62 ></span></code>.expression.can.b
104800 65 20 75 73 65 64 20 74 6f 20 69 74 65 72 61 74 65 20 6f 76 65 72 20 74 68 65 20 65 6c 65 6d 65 e.used.to.iterate.over.the.eleme
104820 6e 74 73 20 6f 66 20 61 20 73 6c 69 63 65 2c 20 61 72 72 61 79 2c 20 6f 72 20 74 75 70 6c 65 2e nts.of.a.slice,.array,.or.tuple.
104840 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>...............
104860 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c <li>See.also.<a.href="#for">for<
104880 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 /a></li>.............</ul>......
1048a0 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 .....</td>.........</tr>........
1048c0 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e .<tr>...........<th.scope="row">
1048e0 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
104900 61 73 73 3d 22 6c 69 6e 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">
104920 69 66 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 if</span></span></code></pre>...
104940 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>....
104960 20 20 20 20 20 20 20 20 20 41 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .........An.<code><span.class="l
104980 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 ine"><span.class="tok-kw">if</sp
1049a0 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 20 63 61 6e an></span></code>.expression.can
1049c0 20 74 65 73 74 20 62 6f 6f 6c 65 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 73 2c 20 6f 70 74 69 6f .test.boolean.expressions,.optio
1049e0 6e 61 6c 20 76 61 6c 75 65 73 2c 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 2e 0a 20 20 20 nal.values,.or.error.unions.....
104a00 20 20 20 20 20 20 20 20 20 46 6f 72 20 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 73 20 6f 72 20 .........For.optional.values.or.
104a20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 2c 20 74 68 65 20 69 66 20 65 78 70 72 65 73 73 69 6f 6e 20 error.unions,.the.if.expression.
104a40 63 61 6e 20 63 61 70 74 75 72 65 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 76 61 6c 75 65 2e can.capture.the.unwrapped.value.
104a60 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>...............
104a80 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 <li>See.also.<a.href="#if">if</a
104aa0 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>........
104ac0 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>.........<
104ae0 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">..
104b00 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
104b20 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e s="line"><span.class="tok-kw">in
104b40 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 65 3e 0a line</span></span></code></pre>.
104b60 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>..
104b80 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
104ba0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c ne"><span.class="tok-kw">inline<
104bc0 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 64 /span></span></code>.can.be.used
104be0 20 74 6f 20 6c 61 62 65 6c 20 61 20 6c 6f 6f 70 20 65 78 70 72 65 73 73 69 6f 6e 20 73 75 63 68 .to.label.a.loop.expression.such
104c00 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 6e 72 6f 6c 6c 65 64 20 61 74 20 63 6f 6d .that.it.will.be.unrolled.at.com
104c20 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c pile.time..............It.can.al
104c40 73 6f 20 62 65 20 75 73 65 64 20 74 6f 20 66 6f 72 63 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 so.be.used.to.force.a.function.t
104c60 6f 20 62 65 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 0a o.be.inlined.at.all.call.sites..
104c80 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>...............<
104ca0 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 68 69 li>See.also.<a.href="#inline-whi
104cc0 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 le">inline.while</a>,.<a.href="#
104ce0 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 2c 20 3c 61 20 68 inline-for">inline.for</a>,.<a.h
104d00 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f ref="#Functions">Functions</a></
104d20 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>...........
104d40 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>
104d60 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">.....
104d80 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="
104da0 6c 69 6e 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 61 6c 69 line"><span.class="tok-kw">noali
104dc0 61 73 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 as</span></span></code></pre>...
104de0 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>....
104e00 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="
104e20 6c 69 6e 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 61 6c 69 line"><span.class="tok-kw">noali
104e40 61 73 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 2e as</span></span></code>.keyword.
104e60 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>...............
104e80 3c 6c 69 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 20 6e <li>TODO.add.documentation.for.n
104ea0 6f 61 6c 69 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 oalias</li>.............</ul>...
104ec0 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>.....
104ee0 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
104f00 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
104f20 20 63 6c 61 73 73 3d 22 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
104f40 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 6f 64 65 w">nosuspend</span></span></code
104f60 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>.........
104f80 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 ..<td>.............The.<code><sp
104fa0 61 6e 20 63 6c 61 73 73 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
104fc0 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 6f -kw">nosuspend</span></span></co
104fe0 64 65 3e 20 6b 65 79 77 6f 72 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 69 6e 20 66 72 6f 6e 74 de>.keyword.can.be.used.in.front
105000 20 6f 66 20 61 20 62 6c 6f 63 6b 2c 20 73 74 61 74 65 6d 65 6e 74 20 6f 72 20 65 78 70 72 65 73 .of.a.block,.statement.or.expres
105020 73 69 6f 6e 2c 20 74 6f 20 6d 61 72 6b 20 61 20 73 63 6f 70 65 20 77 68 65 72 65 20 6e 6f 20 73 sion,.to.mark.a.scope.where.no.s
105040 75 73 70 65 6e 73 69 6f 6e 20 70 6f 69 6e 74 73 20 61 72 65 20 72 65 61 63 68 65 64 2e 0a 20 20 uspension.points.are.reached....
105060 20 20 20 20 20 20 20 20 20 20 49 6e 20 70 61 72 74 69 63 75 6c 61 72 2c 20 69 6e 73 69 64 65 20 ..........In.particular,.inside.
105080 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
1050a0 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 3e .class="tok-kw">nosuspend</span>
1050c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 63 6f 70 65 3a 0a 20 20 20 20 20 20 20 20 20 20 </span></code>.scope:...........
1050e0 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 55 73 69 6e 67 20 74 ..<ul>...............<li>Using.t
105100 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 61 he.<code><span.class="line"><spa
105120 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><
105140 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 72 65 73 75 6c 74 73 20 69 6e /span></code>.keyword.results.in
105160 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 .a.compile.error.</li>..........
105180 20 20 20 20 20 3c 6c 69 3e 55 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .....<li>Using.<code><span.class
1051a0 3d 22 6c 69 6e 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 77 61 ="line"><span.class="tok-kw">awa
1051c0 69 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 20 61 20 66 75 6e it</span></span></code>.on.a.fun
1051e0 63 74 69 6f 6e 20 66 72 61 6d 65 20 77 68 69 63 68 20 68 61 73 6e 27 74 20 63 6f 6d 70 6c 65 74 ction.frame.which.hasn't.complet
105200 65 64 20 79 65 74 20 72 65 73 75 6c 74 73 20 69 6e 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 ed.yet.results.in.safety-checked
105220 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 .<a.href="#Undefined-Behavior">U
105240 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 ndefined.Behavior</a>.</li>.....
105260 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6c 6c 69 6e 67 20 61 6e 20 61 73 79 6e 63 20 66 ..........<li>Calling.an.async.f
105280 75 6e 63 74 69 6f 6e 20 6d 61 79 20 72 65 73 75 6c 74 20 69 6e 20 73 61 66 65 74 79 2d 63 68 65 unction.may.result.in.safety-che
1052a0 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
1052c0 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 2c 20 62 65 63 61 75 r">Undefined.Behavior</a>,.becau
1052e0 73 65 20 69 74 27 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 63 6f 64 65 3e 61 77 61 69 se.it's.equivalent.to.<code>awai
105300 74 20 61 73 79 6e 63 20 73 6f 6d 65 5f 61 73 79 6e 63 5f 66 6e 28 29 3c 2f 63 6f 64 65 3e 2c 20 t.async.some_async_fn()</code>,.
105320 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c which.contains.an.<code><span.cl
105340 61 73 73 3d 22 6c 69 6e 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">
105360 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 3e 2e 3c 2f 6c 69 3e await</span></span></code>.</li>
105380 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 43 .............</ul>.............C
1053a0 6f 64 65 20 69 6e 73 69 64 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ode.inside.a.<code><span.class="
1053c0 6c 69 6e 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
1053e0 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 73 63 6f 70 65 20 pend</span></span></code>.scope.
105400 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 74 68 65 20 65 6e 63 6c 6f 73 69 6e 67 20 66 75 6e does.not.cause.the.enclosing.fun
105420 63 74 69 6f 6e 20 74 6f 20 62 65 63 6f 6d 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 ction.to.become.an.<a.href="#Asy
105440 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e nc-Functions">async.function</a>
105460 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>..............
105480 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 .<li>See.also.<a.href="#Async-Fu
1054a0 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 nctions">Async.Functions</a></li
1054c0 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>...........</
1054e0 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>..
105500 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">.......
105520 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
105540 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 6c 3c ne"><span.class="tok-null">null<
105560 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>......
105580 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>.......
1055a0 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 20 3c 63 6f 64 65 3e 3c ......The.optional.value.<code><
1055c0 73 70 61 6e 20 63 6c 61 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
1055e0 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
105600 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 e>..............<ul>............
105620 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 6e 75 6c 6c 22 3e ...<li>See.also.<a.href="#null">
105640 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 3c 2f 75 6c 3e 0a null</a></li>.............</ul>.
105660 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>...
105680 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="
1056a0 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
1056c0 61 6e 20 63 6c 61 73 73 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
1056e0 2d 6b 77 22 3e 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 -kw">or</span></span></code></pr
105700 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
105720 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 62 6f 6f 6c 65 61 6e 20 6f 70 65 72 61 74 >.............The.boolean.operat
105740 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 70 61 or.<code><span.class="line"><spa
105760 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e n.class="tok-kw">or</span></span
105780 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 ></code>..............<ul>......
1057a0 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="#
1057c0 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 Operators">Operators</a></li>...
1057e0 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>.
105800 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>......
105820 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">...........
105840 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">
105860 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 <span.class="tok-kw">orelse</spa
105880 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>..........
1058a0 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>...........
1058c0 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
1058e0 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
105900 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 65 76 61 6c 75 pan></code>.can.be.used.to.evalu
105920 61 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 66 20 74 68 65 20 65 78 70 72 65 73 73 ate.an.expression.if.the.express
105940 69 6f 6e 20 62 65 66 6f 72 65 20 69 74 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 75 6c 6c 2e ion.before.it.evaluates.to.null.
105960 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>...............
105980 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 <li>See.also.<a.href="#Optionals
1059a0 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 65 72 61 ">Optionals</a>,.<a.href="#Opera
1059c0 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 20 20 tors">Operators</a></li>........
1059e0 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>......
105a00 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>...........
105a20 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
105a40 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
105a60 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 3c 2f 73 .class="tok-kw">packed</span></s
105a80 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 68 pan></code></pre>...........</th
105aa0 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 65 >...........<td>.............The
105ac0 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.
105ae0 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 3c 2f 73 70 class="tok-kw">packed</span></sp
105b00 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 62 65 66 6f 72 65 20 61 20 73 74 72 75 an></code>.keyword.before.a.stru
105b20 63 74 20 64 65 66 69 6e 69 74 69 6f 6e 20 63 68 61 6e 67 65 73 20 74 68 65 20 73 74 72 75 63 74 ct.definition.changes.the.struct
105b40 27 73 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 's.in-memory.layout.............
105b60 74 6f 20 74 68 65 20 67 75 61 72 61 6e 74 65 65 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c to.the.guaranteed.<code><span.cl
105b80 61 73 73 3d 22 6c 69 6e 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">
105ba0 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 61 79 6f packed</span></span></code>.layo
105bc0 75 74 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 ut..............<ul>............
105be0 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 70 61 63 6b 65 64 ...<li>See.also.<a.href="#packed
105c00 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a -struct">packed.struct</a></li>.
105c20 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
105c40 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>....
105c60 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">.........
105c80 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
105ca0 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
105cc0 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>...........
105ce0 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>............
105d00 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 3c 73 .The.<code><span.class="line"><s
105d20 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 3c 2f 73 pan.class="tok-kw">pub</span></s
105d40 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 61 20 74 6f 70 20 6c 65 pan></code>.in.front.of.a.top.le
105d60 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 6d 61 6b 65 73 20 74 68 65 20 64 65 63 6c 61 72 vel.declaration.makes.the.declar
105d80 61 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 72 ation.available.............to.r
105da0 65 66 65 72 65 6e 63 65 20 66 72 6f 6d 20 61 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65 20 74 eference.from.a.different.file.t
105dc0 68 61 6e 20 74 68 65 20 6f 6e 65 20 69 74 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 2e 0a 20 han.the.one.it.is.declared.in...
105de0 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
105e00 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 69 6d 70 i>See.also.<a.href="#import">imp
105e20 6f 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 2f 75 6c 3e 0a 20 ort</a></li>.............</ul>..
105e40 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>....
105e60 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
105e80 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
105ea0 6e 20 63 6c 61 73 73 3d 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-
105ec0 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 6f 64 65 3e 3c kw">resume</span></span></code><
105ee0 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>...........
105f00 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 <td>.............<code><span.cla
105f20 73 73 3d 22 6c 69 6e 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
105f40 65 73 75 6d 65 3c 2f 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 esume</span></span></code>.will.
105f60 63 6f 6e 74 69 6e 75 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 20 66 75 6e 63 74 69 6f 6e continue.execution.of.a.function
105f80 20 66 72 61 6d 65 20 61 66 74 65 72 20 74 68 65 20 70 6f 69 6e 74 20 74 68 65 20 66 75 6e 63 74 .frame.after.the.point.the.funct
105fa0 69 6f 6e 20 77 61 73 20 73 75 73 70 65 6e 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ion.was.suspended..............<
105fc0 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c ul>...............<li>See.also.<
105fe0 61 20 68 72 65 66 3d 22 23 53 75 73 70 65 6e 64 2d 61 6e 64 2d 52 65 73 75 6d 65 22 3e 53 75 73 a.href="#Suspend-and-Resume">Sus
106000 70 65 6e 64 20 61 6e 64 20 52 65 73 75 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 pend.and.Resume</a></li>........
106020 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>......
106040 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>...........
106060 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
106080 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
1060a0 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 73 .class="tok-kw">return</span></s
1060c0 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 68 pan></code></pre>...........</th
1060e0 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 63 6f >...........<td>.............<co
106100 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
106120 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 73 70 61 6e 3e 3c s="tok-kw">return</span></span><
106140 2f 63 6f 64 65 3e 20 65 78 69 74 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 61 20 76 /code>.exits.a.function.with.a.v
106160 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 20 alue..............<ul>..........
106180 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 .....<li>See.also.<a.href="#Func
1061a0 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 tions">Functions</a></li>.......
1061c0 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>.....
1061e0 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>..........
106200 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
106220 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
106240 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6c 69 6e 6b 73 65 63 74 69 6f 6e 3c 2f 73 70 n.class="tok-kw">linksection</sp
106260 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 20 an></span></code></pre>.........
106280 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 ..</th>...........<td>..........
1062a0 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">
1062c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6c 69 6e 6b 73 65 63 74 69 6f 6e <span.class="tok-kw">linksection
1062e0 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 2e 0a 20 </span></span></code>.keyword...
106300 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
106320 69 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 20 6c 69 6e i>TODO.add.documentation.for.lin
106340 6b 73 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a ksection</li>.............</ul>.
106360 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>...
106380 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="
1063a0 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
1063c0 61 6e 20 63 6c 61 73 73 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
1063e0 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 3c 2f 63 6f 64 65 3e -kw">struct</span></span></code>
106400 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>..........
106420 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
106440 61 73 73 3d 22 6c 69 6e 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">
106460 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 20 64 65 66 69 struct</span></span></code>.defi
106480 6e 65 73 20 61 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 nes.a.struct..............<ul>..
1064a0 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
1064c0 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 f="#struct">struct</a></li>.....
1064e0 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>...
106500 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>........
106520 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...<th.scope="row">.............
106540 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
106560 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
106580 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>...........
1065a0 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>............
1065c0 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.
1065e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 class="tok-kw">suspend</span></s
106600 70 61 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 pan></code>.will.cause.control.f
106620 6c 6f 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 low.to.return.to.the.call.site.o
106640 72 20 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 r.resumer.of.the.function.......
106660 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">
106680 3c 73 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 <span.class="tok-kw">suspend</sp
1066a0 61 6e 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 an></span></code>.can.also.be.us
1066c0 65 64 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 ed.before.a.block.within.a.funct
1066e0 69 6f 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 ion,.............to.allow.the.fu
106700 6e 63 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 nction.access.to.its.frame.befor
106720 65 20 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 e.control.flow.returns.to.the.ca
106740 6c 6c 20 73 69 74 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 ll.site..............<ul>.......
106760 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 53 ........<li>See.also.<a.href="#S
106780 75 73 70 65 6e 64 2d 61 6e 64 2d 52 65 73 75 6d 65 22 3e 53 75 73 70 65 6e 64 20 61 6e 64 20 52 uspend-and-Resume">Suspend.and.R
1067a0 65 73 75 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e esume</a></li>.............</ul>
1067c0 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>..
1067e0 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=
106800 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
106820 70 61 6e 20 63 6c 61 73 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
106840 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 6f 64 65 k-kw">switch</span></span></code
106860 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>.........
106880 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ..<td>.............A.<code><span
1068a0 20 63 6c 61 73 73 3d 22 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
1068c0 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 6f 64 65 3e 20 65 w">switch</span></span></code>.e
1068e0 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 65 73 74 20 76 61 xpression.can.be.used.to.test.va
106900 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 20 20 20 20 20 20 lues.of.a.common.type...........
106920 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
106940 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-kw">switch</span></
106960 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 74 75 72 65 20 66 span></code>.cases.can.capture.f
106980 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 23 54 61 67 67 65 ield.values.of.a.<a.href="#Tagge
1069a0 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 0a 20 20 20 20 20 d-union">Tagged.union</a>.......
1069c0 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
1069e0 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 77 69 74 63 68 3c e.also.<a.href="#switch">switch<
106a00 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 /a></li>.............</ul>......
106a20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 .....</td>.........</tr>........
106a40 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e .<tr>...........<th.scope="row">
106a60 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
106a80 61 73 73 3d 22 6c 69 6e 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">
106aa0 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 2f 70 72 65 3e 0a test</span></span></code></pre>.
106ac0 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>..
106ae0 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
106b00 3d 22 6c 69 6e 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
106b20 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 6f 72 64 20 63 t</span></span></code>.keyword.c
106b40 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 2d 6c 65 76 65 6c an.be.used.to.denote.a.top-level
106b60 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 20 75 73 65 64 20 .block.of.code.............used.
106b80 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 73 20 65 78 70 65 to.make.sure.behavior.meets.expe
106ba0 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 0a 20 20 20 20 20 ctations..............<ul>......
106bc0 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="#
106be0 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 20 20 20 20 Zig-Test">Zig.Test</a></li>.....
106c00 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>...
106c20 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>........
106c40 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...<th.scope="row">.............
106c60 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
106c80 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 63 61 6c 3c 2f pan.class="tok-kw">threadlocal</
106ca0 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>.......
106cc0 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>........
106ce0 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
106d00 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 63 61 6c 3c 2f pan.class="tok-kw">threadlocal</
106d20 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 64 20 span></span></code>.can.be.used.
106d40 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 68 72 65 61 64 2d to.specify.a.variable.as.thread-
106d60 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 20 20 20 20 20 20 local..............<ul>.........
106d80 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 54 68 72 ......<li>See.also.<a.href="#Thr
106da0 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 61 ead-Local-Variables">Thread.Loca
106dc0 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 l.Variables</a></li>............
106de0 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 3c .</ul>...........</td>.........<
106e00 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.
106e20 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
106e40 6f 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
106e60 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>
106e80 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>...
106ea0 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 62 6f 6f ........<td>.............The.boo
106ec0 6c 65 61 6e 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 lean.value.<code><span.class="li
106ee0 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 3c ne"><span.class="tok-null">true<
106f00 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>............
106f20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 ..<ul>...............<li>See.als
106f40 6f 20 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e 50 72 o.<a.href="#Primitive-Values">Pr
106f60 69 6d 69 74 69 76 65 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 imitive.Values</a></li>.........
106f80 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>.......
106fa0 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>...........<
106fc0 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
106fe0 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.
107000 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 61 6e 3e class="tok-kw">try</span></span>
107020 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>...
107040 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 3c ........<td>.............<code><
107060 73 70 61 6e 20 63 6c 61 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
107080 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 65 3e 20 ok-kw">try</span></span></code>.
1070a0 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 65 73 73 evaluates.an.error.union.express
1070c0 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 65 72 72 ion..............If.it.is.an.err
1070e0 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 6e 74 20 or,.it.returns.from.the.current.
107100 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 0a 20 20 function.with.the.same.error....
107120 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 65 73 73 ..........Otherwise,.the.express
107140 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 76 61 6c ion.results.in.the.unwrapped.val
107160 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 20 20 20 ue..............<ul>............
107180 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 22 3e 74 ...<li>See.also.<a.href="#try">t
1071a0 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 0a 20 20 ry</a></li>.............</ul>...
1071c0 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>.....
1071e0 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
107200 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
107220 20 63 6c 61 73 73 3d 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
107240 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 6f ull">undefined</span></span></co
107260 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>.......
107280 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
1072a0 20 63 6c 61 73 73 3d 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
1072c0 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 6f ull">undefined</span></span></co
1072e0 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6c 65 61 76 65 20 61 20 76 61 6c 75 65 de>.can.be.used.to.leave.a.value
107300 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e .uninitialized..............<ul>
107320 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
107340 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 3c 2f ref="#undefined">undefined</a></
107360 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>...........
107380 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>
1073a0 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">.....
1073c0 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="
1073e0 6c 69 6e 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 line"><span.class="tok-kw">union
107400 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>.....
107420 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>......
107440 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">
107460 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 61 6e <span.class="tok-kw">union</span
107480 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 75 6e 69 6f 6e 2e ></span></code>.defines.a.union.
1074a0 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>...............
1074c0 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e <li>See.also.<a.href="#union">un
1074e0 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ion</a></li>.............</ul>..
107500 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>....
107520 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
107540 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
107560 6e 20 63 6c 61 73 73 3d 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-
107580 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 2f 63 kw">unreachable</span></span></c
1075a0 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 20 ode></pre>...........</th>......
1075c0 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 61 .....<td>.............<code><spa
1075e0 6e 20 63 6c 61 73 73 3d 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-
107600 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 2f 63 kw">unreachable</span></span></c
107620 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 61 73 73 65 72 74 20 74 68 61 74 20 ode>.can.be.used.to.assert.that.
107640 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 77 69 6c 6c 20 6e 65 76 65 72 20 68 61 70 70 65 6e 20 75 control.flow.will.never.happen.u
107660 70 6f 6e 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 6c 6f 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 pon.a.particular.location.......
107680 20 20 20 20 20 20 20 44 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 62 75 69 6c 64 20 6d 6f .......Depending.on.the.build.mo
1076a0 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 3e 3c 73 70 de,.<code><span.class="line"><sp
1076c0 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 73 an.class="tok-kw">unreachable</s
1076e0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 65 6d 69 74 20 61 20 70 61 pan></span></code>.may.emit.a.pa
107700 6e 69 63 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 nic..............<ul>...........
107720 20 20 20 20 3c 6c 69 3e 45 6d 69 74 73 20 61 20 70 61 6e 69 63 20 69 6e 20 3c 63 6f 64 65 3e 3c ....<li>Emits.a.panic.in.<code><
107740 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 65 62 75 67 3c 2f 73 70 61 6e 3e 3c 2f span.class="line">Debug</span></
107760 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
107780 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 e">ReleaseSafe</span></code>.mod
1077a0 65 2c 20 6f 72 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f e,.or.when.using.<kbd>zig.test</
1077c0 6b 62 64 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 44 6f 65 kbd>.</li>...............<li>Doe
1077e0 73 20 6e 6f 74 20 65 6d 69 74 20 61 20 70 61 6e 69 63 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 s.not.emit.a.panic.in.<code><spa
107800 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 73 70 61 6e n.class="line">ReleaseFast</span
107820 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2c 20 75 6e 6c 65 73 73 20 3c 6b 62 64 3e 7a 69 67 20 74 ></code>.mode,.unless.<kbd>zig.t
107840 65 73 74 3c 2f 6b 62 64 3e 20 69 73 20 62 65 69 6e 67 20 75 73 65 64 2e 3c 2f 6c 69 3e 0a 20 20 est</kbd>.is.being.used.</li>...
107860 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
107880 3d 22 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 3c ="#unreachable">unreachable</a><
1078a0 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>..........
1078c0 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
1078e0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 >...........<th.scope="row">....
107900 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=
107920 22 6c 69 6e 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 "line"><span.class="tok-kw">usin
107940 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 3c gnamespace</span></span></code><
107960 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>...........
107980 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 <td>.............<code><span.cla
1079a0 73 73 3d 22 6c 69 6e 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 ss="line"><span.class="tok-kw">u
1079c0 73 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 singnamespace</span></span></cod
1079e0 65 3e 20 69 73 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 74 68 e>.is.a.top-level.declaration.th
107a00 61 74 20 69 6d 70 6f 72 74 73 20 61 6c 6c 20 74 68 65 20 70 75 62 6c 69 63 20 64 65 63 6c 61 72 at.imports.all.the.public.declar
107a20 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 2c 0a 20 20 20 20 20 20 20 20 20 ations.of.the.operand,..........
107a40 20 20 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 75 63 74 2c 20 75 6e 69 6f 6e ...which.must.be.a.struct,.union
107a60 2c 20 6f 72 20 65 6e 75 6d 2c 20 69 6e 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 63 6f 70 ,.or.enum,.into.the.current.scop
107a80 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 20 20 e..............<ul>.............
107aa0 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 73 69 6e 67 6e 61 ..<li>See.also.<a.href="#usingna
107ac0 6d 65 73 70 61 63 65 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e mespace">usingnamespace</a></li>
107ae0 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
107b00 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>...
107b20 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 20 ........<th.scope="row">........
107b40 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
107b60 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
107b80 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>..........
107ba0 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>...........
107bc0 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
107be0 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 6e .class="tok-kw">var</span></span
107c00 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 65 73 20 61 20 76 61 72 69 61 62 6c 65 20 74 68 61 ></code>.declares.a.variable.tha
107c20 74 20 6d 61 79 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 3c t.may.be.modified..............<
107c40 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c ul>...............<li>See.also.<
107c60 61 20 68 72 65 66 3d 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 a.href="#Variables">Variables</a
107c80 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>........
107ca0 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>.........<
107cc0 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">..
107ce0 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
107d00 73 3d 22 6c 69 6e 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 s="line"><span.class="tok-kw">vo
107d20 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 3c 2f 70 72 65 latile</span></span></code></pre
107d40 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e >...........</th>...........<td>
107d60 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .............<code><span.class="
107d80 6c 69 6e 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 line"><span.class="tok-kw">volat
107da0 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 63 61 6e 20 62 65 20 ile</span></span></code>.can.be.
107dc0 75 73 65 64 20 74 6f 20 64 65 6e 6f 74 65 20 6c 6f 61 64 73 20 6f 72 20 73 74 6f 72 65 73 20 6f used.to.denote.loads.or.stores.o
107de0 66 20 61 20 70 6f 69 6e 74 65 72 20 68 61 76 65 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 20 f.a.pointer.have.side.effects...
107e00 20 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 6d 6f 64 69 66 79 20 61 6e ...........It.can.also.modify.an
107e20 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 20 74 6f 20 64 .inline.assembly.expression.to.d
107e40 65 6e 6f 74 65 20 69 74 20 68 61 73 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 20 20 20 20 20 enote.it.has.side.effects.......
107e60 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
107e80 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 74 e.also.<a.href="#volatile">volat
107ea0 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 41 73 73 65 6d 62 6c 79 22 3e 41 73 73 ile</a>,.<a.href="#Assembly">Ass
107ec0 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 3c 2f 75 6c 3e embly</a></li>.............</ul>
107ee0 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>..
107f00 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=
107f20 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
107f40 70 61 6e 20 63 6c 61 73 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
107f60 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 2f 63 6f 64 65 3e k-kw">while</span></span></code>
107f80 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>..........
107fa0 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .<td>.............A.<code><span.
107fc0 63 6c 61 73 73 3d 22 6c 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
107fe0 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 78 70 ">while</span></span></code>.exp
108000 72 65 73 73 69 6f 6e 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 ression.can.be.used.to.repeatedl
108020 79 20 74 65 73 74 20 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 y.test.a.boolean,.optional,.or.e
108040 72 72 6f 72 20 75 6e 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 rror.union.expression,..........
108060 20 20 20 61 6e 64 20 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 ...and.cease.looping.when.that.e
108080 78 70 72 65 73 73 69 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 xpression.evaluates.to.false,.nu
1080a0 6c 6c 2c 20 6f 72 20 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 ll,.or.an.error,.respectively...
1080c0 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
1080e0 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 3e 77 68 69 6c i>See.also.<a.href="#while">whil
108100 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 20 20 20 e</a></li>.............</ul>....
108120 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>......
108140 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 20 20 20 20 ...</tbody>.......</table>......
108160 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 47 72 .</div>...............<h2.id="Gr
108180 61 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 ammar"><a.href="#toc-Grammar">Gr
1081a0 61 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 ammar</a>.<a.class="hdr".href="#
1081c0 47 72 61 6d 6d 61 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 67 Grammar">..</a></h2>........<fig
1081e0 75 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 ure><figcaption.class="peg-cap">
108200 3c 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 <cite.class="file">grammar.peg</
108220 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
108240 61 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 an.class="line">Root.&lt;-.skip.
108260 63 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 container_doc_comment?.Container
108280 4d 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 Members.eof</span>.<span.class="
1082a0 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"
1082c0 3e 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 >#.***.Top.level.***</span>.<spa
1082e0 6e 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 n.class="line">ContainerMembers.
108300 26 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 &lt;-.ContainerDeclarations.(Con
108320 74 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 tainerField.COMMA)*.(ContainerFi
108340 65 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 eld./.ContainerDeclarations)</sp
108360 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>.<
108380 73 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 span.class="line">ContainerDecla
1083a0 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 6e 65 rations</span>.<span.class="line
1083c0 22 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 ">....&lt;-.TestDecl.ContainerDe
1083e0 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 3d 22 6c clarations</span>.<span.class="l
108400 69 6e 65 22 3e 20 20 20 20 20 2f 20 54 6f 70 4c 65 76 65 6c 43 6f 6d 70 74 69 6d 65 20 43 6f 6e ine">...../.TopLevelComptime.Con
108420 74 61 69 6e 65 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 tainerDeclarations</span>.<span.
108440 63 6c 61 73 73 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 class="line">...../.doc_comment?
108460 20 4b 45 59 57 4f 52 44 5f 70 75 62 3f 20 54 6f 70 4c 65 76 65 6c 44 65 63 6c 20 43 6f 6e 74 61 .KEYWORD_pub?.TopLevelDecl.Conta
108480 69 6e 65 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 inerDeclarations</span>.<span.cl
1084a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">...../</span>.<span.c
1084c0 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=
1084e0 22 6c 69 6e 65 22 3e 54 65 73 74 44 65 63 6c 20 26 6c 74 3b 2d 20 64 6f 63 5f 63 6f 6d 6d 65 6e "line">TestDecl.&lt;-.doc_commen
108500 74 3f 20 4b 45 59 57 4f 52 44 5f 74 65 73 74 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e t?.KEYWORD_test.STRINGLITERALSIN
108520 47 4c 45 3f 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 GLE?.Block</span>.<span.class="l
108540 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">
108560 54 6f 70 4c 65 76 65 6c 43 6f 6d 70 74 69 6d 65 20 26 6c 74 3b 2d 20 64 6f 63 5f 63 6f 6d 6d 65 TopLevelComptime.&lt;-.doc_comme
108580 6e 74 3f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 42 6c 6f 63 6b 45 78 70 72 3c 2f nt?.KEYWORD_comptime.BlockExpr</
1085a0 73 70 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>
1085c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 6f 70 4c 65 76 65 6c 44 65 63 6c .<span.class="line">TopLevelDecl
1085e0 3c 2f 73 70 61 6e 3e 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">....&
108600 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 20 2f 20 4b 45 59 57 4f 52 44 5f 65 lt;-.(KEYWORD_export./.KEYWORD_e
108620 78 74 65 72 6e 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 3f 20 2f 20 28 4b 45 xtern.STRINGLITERALSINGLE?./.(KE
108640 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 29 YWORD_inline./.KEYWORD_noinline)
108660 29 3f 20 46 6e 50 72 6f 74 6f 20 28 53 45 4d 49 43 4f 4c 4f 4e 20 2f 20 42 6c 6f 63 6b 29 3c 2f )?.FnProto.(SEMICOLON./.Block)</
108680 73 70 61 6e 3e 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">...../.
1086a0 28 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e (KEYWORD_export./.KEYWORD_extern
1086c0 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 3f 29 3f 20 4b 45 59 57 4f 52 44 5f .STRINGLITERALSINGLE?)?.KEYWORD_
1086e0 74 68 72 65 61 64 6c 6f 63 61 6c 3f 20 56 61 72 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 threadlocal?.VarDecl</span>.<spa
108700 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 5f 75 73 n.class="line">...../.KEYWORD_us
108720 69 6e 67 6e 61 6d 65 73 70 61 63 65 20 45 78 70 72 20 53 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 ingnamespace.Expr.SEMICOLON</spa
108740 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
108760 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 6e 50 72 6f 74 6f 20 26 6c 74 3b 2d 20 4b pan.class="line">FnProto.&lt;-.K
108780 45 59 57 4f 52 44 5f 66 6e 20 49 44 45 4e 54 49 46 49 45 52 3f 20 4c 50 41 52 45 4e 20 50 61 72 EYWORD_fn.IDENTIFIER?.LPAREN.Par
1087a0 61 6d 44 65 63 6c 4c 69 73 74 20 52 50 41 52 45 4e 20 42 79 74 65 41 6c 69 67 6e 3f 20 4c 69 6e amDeclList.RPAREN.ByteAlign?.Lin
1087c0 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 4f 4e 4d kSection?.CallConv?.EXCLAMATIONM
1087e0 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 61 73 73 ARK?.TypeExpr</span>.<span.class
108800 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
108820 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 73 74 20 e">VarDecl.&lt;-.(KEYWORD_const.
108840 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 4c 4f 4e /.KEYWORD_var).IDENTIFIER.(COLON
108860 20 54 79 70 65 45 78 70 72 29 3f 20 42 79 74 65 41 6c 69 67 6e 3f 20 4c 69 6e 6b 53 65 63 74 69 .TypeExpr)?.ByteAlign?.LinkSecti
108880 6f 6e 3f 20 28 45 51 55 41 4c 20 45 78 70 72 29 3f 20 53 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 on?.(EQUAL.Expr)?.SEMICOLON</spa
1088a0 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
1088c0 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 46 69 65 6c 64 20 pan.class="line">ContainerField.
1088e0 26 6c 74 3b 2d 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 &lt;-.doc_comment?.KEYWORD_compt
108900 69 6d 65 3f 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f 4c 4f 4e 20 28 4b 45 59 57 4f 52 44 5f ime?.IDENTIFIER.(COLON.(KEYWORD_
108920 61 6e 79 74 79 70 65 20 2f 20 54 79 70 65 45 78 70 72 29 20 42 79 74 65 41 6c 69 67 6e 3f 29 3f anytype./.TypeExpr).ByteAlign?)?
108940 20 28 45 51 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 .(EQUAL.Expr)?</span>.<span.clas
108960 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
108980 6e 65 22 3e 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 ne">#.***.Block.Level.***</span>
1089a0 0a 3c 73 70 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 .<span.class="line">Statement</s
1089c0 70 61 6e 3e 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;
1089e0 2d 20 4b 45 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 -.KEYWORD_comptime?.VarDecl</spa
108a00 6e 3e 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 n>.<span.class="line">...../.KEY
108a20 57 4f 52 44 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 WORD_comptime.BlockExprStatement
108a40 3c 2f 73 70 61 6e 3e 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">.....
108a60 2f 20 4b 45 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 /.KEYWORD_nosuspend.BlockExprSta
108a80 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"
108aa0 3e 20 20 20 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 >...../.KEYWORD_suspend.BlockExp
108ac0 72 53 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 rStatement</span>.<span.class="l
108ae0 69 6e 65 22 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 ine">...../.KEYWORD_defer.BlockE
108b00 78 70 72 53 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 xprStatement</span>.<span.class=
108b20 22 6c 69 6e 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 "line">...../.KEYWORD_errdefer.P
108b40 61 79 6c 6f 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 ayload?.BlockExprStatement</span
108b60 3e 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 53 74 >.<span.class="line">...../.IfSt
108b80 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 65 atement</span>.<span.class="line
108ba0 22 3e 20 20 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 ">...../.LabeledStatement</span>
108bc0 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 77 69 74 63 .<span.class="line">...../.Switc
108be0 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 6e 65 22 3e hExpr</span>.<span.class="line">
108c00 20 20 20 20 20 2f 20 41 73 73 69 67 6e 45 78 70 72 20 53 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 ...../.AssignExpr.SEMICOLON</spa
108c20 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
108c40 70 61 6e 20 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 pan.class="line">IfStatement</sp
108c60 61 6e 3e 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;-
108c80 20 49 66 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 .IfPrefix.BlockExpr.(.KEYWORD_el
108ca0 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>.
108cc0 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 50 72 65 66 <span.class="line">...../.IfPref
108ce0 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 57 ix.AssignExpr.(.SEMICOLON./.KEYW
108d00 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 3c 2f 73 ORD_else.Payload?.Statement.)</s
108d20 70 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>.
108d40 3c 73 70 61 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 <span.class="line">LabeledStatem
108d60 65 6e 74 20 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 ent.&lt;-.BlockLabel?.(Block./.L
108d80 6f 6f 70 53 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 oopStatement)</span>.<span.class
108da0 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
108dc0 65 22 3e 4c 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 e">LoopStatement.&lt;-.KEYWORD_i
108de0 6e 6c 69 6e 65 3f 20 28 46 6f 72 53 74 61 74 65 6d 65 6e 74 20 2f 20 57 68 69 6c 65 53 74 61 74 nline?.(ForStatement./.WhileStat
108e00 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 6e 65 22 ement)</span>.<span.class="line"
108e20 3e 3c 2f 73 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 ></span>.<span.class="line">ForS
108e40 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
108e60 65 22 3e 20 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 e">....&lt;-.ForPrefix.BlockExpr
108e80 20 28 20 4b 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 .(.KEYWORD_else.Statement.)?</sp
108ea0 61 6e 3e 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 46 6f an>.<span.class="line">...../.Fo
108ec0 72 50 72 65 66 69 78 20 41 73 73 69 67 6e 45 78 70 72 20 28 20 53 45 4d 49 43 4f 4c 4f 4e 20 2f rPrefix.AssignExpr.(.SEMICOLON./
108ee0 20 4b 45 59 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 .KEYWORD_else.Statement.)</span>
108f00 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
108f20 6e 20 63 6c 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 n.class="line">WhileStatement</s
108f40 70 61 6e 3e 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;
108f60 2d 20 57 68 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 -.WhilePrefix.BlockExpr.(.KEYWOR
108f80 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 3f 3c 2f 73 70 D_else.Payload?.Statement.)?</sp
108fa0 61 6e 3e 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 57 68 an>.<span.class="line">...../.Wh
108fc0 69 6c 65 50 72 65 66 69 78 20 41 73 73 69 67 6e 45 78 70 72 20 28 20 53 45 4d 49 43 4f 4c 4f 4e ilePrefix.AssignExpr.(.SEMICOLON
108fe0 20 2f 20 4b 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 ./.KEYWORD_else.Payload?.Stateme
109000 6e 74 20 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 nt.)</span>.<span.class="line"><
109020 2f 73 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 45 /span>.<span.class="line">BlockE
109040 78 70 72 53 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 xprStatement</span>.<span.class=
109060 22 6c 69 6e 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 "line">....&lt;-.BlockExpr</span
109080 3e 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 73 73 69 >.<span.class="line">...../.Assi
1090a0 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 73 70 61 6e 20 63 6c gnExpr.SEMICOLON</span>.<span.cl
1090c0 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="
1090e0 6c 69 6e 65 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 line">BlockExpr.&lt;-.BlockLabel
109100 3f 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 ?.Block</span>.<span.class="line
109120 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 2a "></span>.<span.class="line">#.*
109140 2a 2a 20 45 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 **.Expression.Level.***</span>.<
109160 73 70 61 6e 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 span.class="line">AssignExpr.&lt
109180 3b 2d 20 45 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 ;-.Expr.(AssignOp.Expr)?</span>.
1091a0 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
1091c0 20 63 6c 61 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 .class="line">Expr.&lt;-.BoolOrE
1091e0 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 3c 2f xpr</span>.<span.class="line"></
109200 73 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 6f 6f 6c 4f 72 45 span>.<span.class="line">BoolOrE
109220 78 70 72 20 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 xpr.&lt;-.BoolAndExpr.(KEYWORD_o
109240 72 20 42 6f 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 r.BoolAndExpr)*</span>.<span.cla
109260 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
109280 69 6e 65 22 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 ine">BoolAndExpr.&lt;-.CompareEx
1092a0 70 72 20 28 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 pr.(KEYWORD_and.CompareExpr)*</s
1092c0 70 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>.
1092e0 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 45 78 70 72 20 26 <span.class="line">CompareExpr.&
109300 6c 74 3b 2d 20 42 69 74 77 69 73 65 45 78 70 72 20 28 43 6f 6d 70 61 72 65 4f 70 20 42 69 74 77 lt;-.BitwiseExpr.(CompareOp.Bitw
109320 69 73 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 6c 69 iseExpr)?</span>.<span.class="li
109340 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 42 ne"></span>.<span.class="line">B
109360 69 74 77 69 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 itwiseExpr.&lt;-.BitShiftExpr.(B
109380 69 74 77 69 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 itwiseOp.BitShiftExpr)*</span>.<
1093a0 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.
1093c0 63 6c 61 73 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 class="line">BitShiftExpr.&lt;-.
1093e0 41 64 64 69 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 AdditionExpr.(BitShiftOp.Additio
109400 6e 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 6c 69 6e 65 nExpr)*</span>.<span.class="line
109420 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 41 64 64 "></span>.<span.class="line">Add
109440 69 74 69 6f 6e 45 78 70 72 20 26 6c 74 3b 2d 20 4d 75 6c 74 69 70 6c 79 45 78 70 72 20 28 41 64 itionExpr.&lt;-.MultiplyExpr.(Ad
109460 64 69 74 69 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 ditionOp.MultiplyExpr)*</span>.<
109480 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.
1094a0 63 6c 61 73 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 class="line">MultiplyExpr.&lt;-.
1094c0 50 72 65 66 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 PrefixExpr.(MultiplyOp.PrefixExp
1094e0 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"></
109500 73 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 69 78 45 span>.<span.class="line">PrefixE
109520 78 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 69 78 4f 70 2a 20 50 72 69 6d 61 72 79 45 78 70 72 3c xpr.&lt;-.PrefixOp*.PrimaryExpr<
109540 2f 73 70 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
109560 3e 0a 3c 73 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 >.<span.class="line">PrimaryExpr
109580 3c 2f 73 70 61 6e 3e 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">....&
1095a0 6c 74 3b 2d 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 lt;-.AsmExpr</span>.<span.class=
1095c0 22 6c 69 6e 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 "line">...../.IfExpr</span>.<spa
1095e0 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 5f 62 72 n.class="line">...../.KEYWORD_br
109600 65 61 6b 20 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 eak.BreakLabel?.Expr?</span>.<sp
109620 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 5f 63 an.class="line">...../.KEYWORD_c
109640 6f 6d 70 74 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 omptime.Expr</span>.<span.class=
109660 22 6c 69 6e 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 "line">...../.KEYWORD_nosuspend.
109680 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 20 Expr</span>.<span.class="line">.
1096a0 20 20 20 20 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 ..../.KEYWORD_continue.BreakLabe
1096c0 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 6e 65 22 3e 20 20 20 l?</span>.<span.class="line">...
1096e0 20 20 2f 20 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 ../.KEYWORD_resume.Expr</span>.<
109700 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
109720 5f 72 65 74 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 _return.Expr?</span>.<span.class
109740 3d 22 6c 69 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 ="line">...../.BlockLabel?.LoopE
109760 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 20 20 xpr</span>.<span.class="line">..
109780 20 20 20 2f 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 .../.Block</span>.<span.class="l
1097a0 69 6e 65 22 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 ine">...../.CurlySuffixExpr</spa
1097c0 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
1097e0 70 61 6e 20 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 pan.class="line">IfExpr.&lt;-.If
109800 50 72 65 66 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 Prefix.Expr.(KEYWORD_else.Payloa
109820 64 3f 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 d?.Expr)?</span>.<span.class="li
109840 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 42 ne"></span>.<span.class="line">B
109860 6c 6f 63 6b 20 26 6c 74 3b 2d 20 4c 42 52 41 43 45 20 53 74 61 74 65 6d 65 6e 74 2a 20 52 42 52 lock.&lt;-.LBRACE.Statement*.RBR
109880 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 69 6e 65 22 3e 3c 2f ACE</span>.<span.class="line"></
1098a0 73 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 45 78 70 span>.<span.class="line">LoopExp
1098c0 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 45 78 70 72 r.&lt;-.KEYWORD_inline?.(ForExpr
1098e0 20 2f 20 57 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 ./.WhileExpr)</span>.<span.class
109900 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
109920 65 22 3e 46 6f 72 45 78 70 72 20 26 6c 74 3b 2d 20 46 6f 72 50 72 65 66 69 78 20 45 78 70 72 20 e">ForExpr.&lt;-.ForPrefix.Expr.
109940 28 4b 45 59 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 (KEYWORD_else.Expr)?</span>.<spa
109960 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
109980 73 73 3d 22 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 ss="line">WhileExpr.&lt;-.WhileP
1099a0 72 65 66 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 refix.Expr.(KEYWORD_else.Payload
1099c0 3f 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 ?.Expr)?</span>.<span.class="lin
1099e0 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 75 e"></span>.<span.class="line">Cu
109a00 72 6c 79 53 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 rlySuffixExpr.&lt;-.TypeExpr.Ini
109a20 74 4c 69 73 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 tList?</span>.<span.class="line"
109a40 3e 3c 2f 73 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 ></span>.<span.class="line">Init
109a60 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 65 22 3e 20 List</span>.<span.class="line">.
109a80 20 20 20 26 6c 74 3b 2d 20 4c 42 52 41 43 45 20 46 69 65 6c 64 49 6e 69 74 20 28 43 4f 4d 4d 41 ...&lt;-.LBRACE.FieldInit.(COMMA
109aa0 20 46 69 65 6c 64 49 6e 69 74 29 2a 20 43 4f 4d 4d 41 3f 20 52 42 52 41 43 45 3c 2f 73 70 61 6e .FieldInit)*.COMMA?.RBRACE</span
109ac0 3e 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 42 52 41 >.<span.class="line">...../.LBRA
109ae0 43 45 20 45 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 CE.Expr.(COMMA.Expr)*.COMMA?.RBR
109b00 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 69 6e 65 22 3e 20 20 ACE</span>.<span.class="line">..
109b20 20 20 20 2f 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 .../.LBRACE.RBRACE</span>.<span.
109b40 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
109b60 3d 22 6c 69 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 ="line">TypeExpr.&lt;-.PrefixTyp
109b80 65 4f 70 2a 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 eOp*.ErrorUnionExpr</span>.<span
109ba0 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
109bc0 73 3d 22 6c 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 s="line">ErrorUnionExpr.&lt;-.Su
109be0 66 66 69 78 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 ffixExpr.(EXCLAMATIONMARK.TypeEx
109c00 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"><
109c20 2f 73 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 75 66 66 69 78 /span>.<span.class="line">Suffix
109c40 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 20 Expr</span>.<span.class="line">.
109c60 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 73 79 6e 63 20 50 72 69 6d 61 72 79 54 79 ...&lt;-.KEYWORD_async.PrimaryTy
109c80 70 65 45 78 70 72 20 53 75 66 66 69 78 4f 70 2a 20 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 peExpr.SuffixOp*.FnCallArguments
109ca0 3c 2f 73 70 61 6e 3e 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">.....
109cc0 2f 20 50 72 69 6d 61 72 79 54 79 70 65 45 78 70 72 20 28 53 75 66 66 69 78 4f 70 20 2f 20 46 6e /.PrimaryTypeExpr.(SuffixOp./.Fn
109ce0 43 61 6c 6c 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 CallArguments)*</span>.<span.cla
109d00 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
109d20 69 6e 65 22 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 ine">PrimaryTypeExpr</span>.<spa
109d40 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 42 55 49 4c 54 49 4e n.class="line">....&lt;-.BUILTIN
109d60 49 44 45 4e 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 IDENTIFIER.FnCallArguments</span
109d80 3e 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 48 41 52 >.<span.class="line">...../.CHAR
109da0 5f 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 3d 22 6c 69 6e _LITERAL</span>.<span.class="lin
109dc0 65 22 3e 20 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 e">...../.ContainerDecl</span>.<
109de0 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 44 4f 54 20 49 44 45 span.class="line">...../.DOT.IDE
109e00 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
109e20 22 3e 20 20 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 ">...../.DOT.InitList</span>.<sp
109e40 61 6e 20 63 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 an.class="line">...../.ErrorSetD
109e60 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ecl</span>.<span.class="line">..
109e80 20 20 20 2f 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 .../.FLOAT</span>.<span.class="l
109ea0 69 6e 65 22 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 ine">...../.FnProto</span>.<span
109ec0 20 63 6c 61 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 .class="line">...../.GroupedExpr
109ee0 3c 2f 73 70 61 6e 3e 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">.....
109f00 2f 20 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 20 63 /.LabeledTypeExpr</span>.<span.c
109f20 6c 61 73 73 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 lass="line">...../.IDENTIFIER</s
109f40 70 61 6e 3e 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 pan>.<span.class="line">...../.I
109f60 66 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 fTypeExpr</span>.<span.class="li
109f80 6e 65 22 3e 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 ne">...../.INTEGER</span>.<span.
109fa0 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 63 6f 6d 70 class="line">...../.KEYWORD_comp
109fc0 74 69 6d 65 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 time.TypeExpr</span>.<span.class
109fe0 3d 22 6c 69 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 ="line">...../.KEYWORD_error.DOT
10a000 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 63 6c 61 73 73 3d 22 .IDENTIFIER</span>.<span.class="
10a020 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 3c 2f 73 line">...../.KEYWORD_anyframe</s
10a040 70 61 6e 3e 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 pan>.<span.class="line">...../.K
10a060 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.
10a080 63 6c 61 73 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 class="line">...../.STRINGLITERA
10a0a0 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 20 20 L</span>.<span.class="line">....
10a0c0 20 2f 20 53 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 ./.SwitchExpr</span>.<span.class
10a0e0 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
10a100 65 22 3e 43 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 e">ContainerDecl.&lt;-.(KEYWORD_
10a120 65 78 74 65 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 extern./.KEYWORD_packed)?.Contai
10a140 6e 65 72 44 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 nerDeclAuto</span>.<span.class="
10a160 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"
10a180 3e 45 72 72 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 >ErrorSetDecl.&lt;-.KEYWORD_erro
10a1a0 72 20 4c 42 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 r.LBRACE.IdentifierList.RBRACE</
10a1c0 73 70 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>
10a1e0 0a 3c 73 70 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 .<span.class="line">GroupedExpr.
10a200 26 6c 74 3b 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 &lt;-.LPAREN.Expr.RPAREN</span>.
10a220 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
10a240 20 63 6c 61 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 .class="line">IfTypeExpr.&lt;-.I
10a260 66 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 20 50 fPrefix.TypeExpr.(KEYWORD_else.P
10a280 61 79 6c 6f 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 ayload?.TypeExpr)?</span>.<span.
10a2a0 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
10a2c0 3d 22 6c 69 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 ="line">LabeledTypeExpr</span>.<
10a2e0 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 42 6c 6f 63 span.class="line">....&lt;-.Bloc
10a300 6b 4c 61 62 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 kLabel.Block</span>.<span.class=
10a320 22 6c 69 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 54 79 "line">...../.BlockLabel?.LoopTy
10a340 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 6e 65 22 peExpr</span>.<span.class="line"
10a360 3e 3c 2f 73 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 ></span>.<span.class="line">Loop
10a380 54 79 70 65 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 TypeExpr.&lt;-.KEYWORD_inline?.(
10a3a0 46 6f 72 54 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 ForTypeExpr./.WhileTypeExpr)</sp
10a3c0 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>.<
10a3e0 73 70 61 6e 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 span.class="line">ForTypeExpr.&l
10a400 74 3b 2d 20 46 6f 72 50 72 65 66 69 78 20 54 79 70 65 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f t;-.ForPrefix.TypeExpr.(KEYWORD_
10a420 65 6c 73 65 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 else.TypeExpr)?</span>.<span.cla
10a440 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
10a460 69 6e 65 22 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 ine">WhileTypeExpr.&lt;-.WhilePr
10a480 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 20 50 61 79 6c efix.TypeExpr.(KEYWORD_else.Payl
10a4a0 6f 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 oad?.TypeExpr)?</span>.<span.cla
10a4c0 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
10a4e0 69 6e 65 22 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 ine">SwitchExpr.&lt;-.KEYWORD_sw
10a500 69 74 63 68 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 itch.LPAREN.Expr.RPAREN.LBRACE.S
10a520 77 69 74 63 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 witchProngList.RBRACE</span>.<sp
10a540 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
10a560 61 73 73 3d 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 ass="line">#.***.Assembly.***</s
10a580 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 45 78 70 72 20 pan>.<span.class="line">AsmExpr.
10a5a0 26 6c 74 3b 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 &lt;-.KEYWORD_asm.KEYWORD_volati
10a5c0 6c 65 3f 20 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 le?.LPAREN.Expr.AsmOutput?.RPARE
10a5e0 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 70 N</span>.<span.class="line"></sp
10a600 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 4f 75 74 70 75 74 an>.<span.class="line">AsmOutput
10a620 20 26 6c 74 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 .&lt;-.COLON.AsmOutputList.AsmIn
10a640 70 75 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 put?</span>.<span.class="line"><
10a660 2f 73 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 4f 75 74 /span>.<span.class="line">AsmOut
10a680 70 75 74 49 74 65 6d 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 49 44 45 4e 54 49 46 49 45 putItem.&lt;-.LBRACKET.IDENTIFIE
10a6a0 52 20 52 42 52 41 43 4b 45 54 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 20 4c 50 41 52 45 4e 20 R.RBRACKET.STRINGLITERAL.LPAREN.
10a6c0 28 4d 49 4e 55 53 52 41 52 52 4f 57 20 54 79 70 65 45 78 70 72 20 2f 20 49 44 45 4e 54 49 46 49 (MINUSRARROW.TypeExpr./.IDENTIFI
10a6e0 45 52 29 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 22 6c ER).RPAREN</span>.<span.class="l
10a700 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">
10a720 41 73 6d 49 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 AsmInput.&lt;-.COLON.AsmInputLis
10a740 74 20 41 73 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 t.AsmClobbers?</span>.<span.clas
10a760 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
10a780 6e 65 22 3e 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 ne">AsmInputItem.&lt;-.LBRACKET.
10a7a0 49 44 45 4e 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 IDENTIFIER.RBRACKET.STRINGLITERA
10a7c0 4c 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 L.LPAREN.Expr.RPAREN</span>.<spa
10a7e0 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
10a800 73 73 3d 22 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 ss="line">AsmClobbers.&lt;-.COLO
10a820 4e 20 53 74 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 N.StringList</span>.<span.class=
10a840 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
10a860 22 3e 23 20 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 ">#.***.Helper.grammar.***</span
10a880 3e 0a 3c 73 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 >.<span.class="line">BreakLabel.
10a8a0 26 6c 74 3b 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 &lt;-.COLON.IDENTIFIER</span>.<s
10a8c0 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
10a8e0 6c 61 73 73 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 lass="line">BlockLabel.&lt;-.IDE
10a900 4e 54 49 46 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 NTIFIER.COLON</span>.<span.class
10a920 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
10a940 65 22 3e 46 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 e">FieldInit.&lt;-.DOT.IDENTIFIE
10a960 52 20 45 51 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 R.EQUAL.Expr</span>.<span.class=
10a980 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
10a9a0 22 3e 57 68 69 6c 65 43 6f 6e 74 69 6e 75 65 45 78 70 72 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 ">WhileContinueExpr.&lt;-.COLON.
10a9c0 4c 50 41 52 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 LPAREN.AssignExpr.RPAREN</span>.
10a9e0 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
10aa00 20 63 6c 61 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 .class="line">LinkSection.&lt;-.
10aa20 4b 45 59 57 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 KEYWORD_linksection.LPAREN.Expr.
10aa40 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"
10aa60 3e 3c 2f 73 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 6e ></span>.<span.class="line">#.Fn
10aa80 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 73 73 3d 22 6c 69 .specific</span>.<span.class="li
10aaa0 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 5f 63 61 6c 6c 63 ne">CallConv.&lt;-.KEYWORD_callc
10aac0 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 61 6e 3e 0a 3c 73 onv.LPAREN.Expr.RPAREN</span>.<s
10aae0 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
10ab00 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 6e 3e 0a 3c 73 70 lass="line">ParamDecl</span>.<sp
10ab20 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 64 6f 63 5f 63 6f an.class="line">....&lt;-.doc_co
10ab40 6d 6d 65 6e 74 3f 20 28 4b 45 59 57 4f 52 44 5f 6e 6f 61 6c 69 61 73 20 2f 20 4b 45 59 57 4f 52 mment?.(KEYWORD_noalias./.KEYWOR
10ab60 44 5f 63 6f 6d 70 74 69 6d 65 29 3f 20 28 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4c 4f 4e 29 3f D_comptime)?.(IDENTIFIER.COLON)?
10ab80 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 61 73 73 3d 22 6c .ParamType</span>.<span.class="l
10aba0 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 70 61 6e 20 63 6c ine">...../.DOT3</span>.<span.cl
10abc0 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="
10abe0 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 61 6e 20 63 6c 61 line">ParamType</span>.<span.cla
10ac00 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 61 6e 79 74 ss="line">....&lt;-.KEYWORD_anyt
10ac20 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 6e 65 22 3e 20 20 ype</span>.<span.class="line">..
10ac40 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 20 63 6c 61 73 73 .../.TypeExpr</span>.<span.class
10ac60 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
10ac80 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 3c 2f 73 70 61 6e e">#.Control.flow.prefixes</span
10aca0 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 66 69 78 20 26 6c >.<span.class="line">IfPrefix.&l
10acc0 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 20 52 50 41 52 45 t;-.KEYWORD_if.LPAREN.Expr.RPARE
10ace0 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 20 63 6c 61 73 73 N.PtrPayload?</span>.<span.class
10ad00 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
10ad20 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 52 44 5f 77 68 69 e">WhilePrefix.&lt;-.KEYWORD_whi
10ad40 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 61 79 6c 6f 61 64 le.LPAREN.Expr.RPAREN.PtrPayload
10ad60 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 3e 0a 3c 73 70 61 ?.WhileContinueExpr?</span>.<spa
10ad80 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
10ada0 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 4b 45 59 57 4f 52 ss="line">ForPrefix.&lt;-.KEYWOR
10adc0 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 74 72 49 6e 64 65 D_for.LPAREN.Expr.RPAREN.PtrInde
10ade0 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 73 3d 22 6c 69 6e xPayload</span>.<span.class="lin
10ae00 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">#.
10ae20 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 73 3d 22 6c 69 6e Payloads</span>.<span.class="lin
10ae40 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 54 49 46 49 45 52 e">Payload.&lt;-.PIPE.IDENTIFIER
10ae60 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 22 3e .PIPE</span>.<span.class="line">
10ae80 3c 2f 73 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 50 61 </span>.<span.class="line">PtrPa
10aea0 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 20 49 44 45 4e 54 yload.&lt;-.PIPE.ASTERISK?.IDENT
10aec0 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 6c IFIER.PIPE</span>.<span.class="l
10aee0 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">
10af00 50 74 72 49 6e 64 65 78 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 50 45 20 41 53 54 45 52 PtrIndexPayload.&lt;-.PIPE.ASTER
10af20 49 53 4b 3f 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f 4d 4d 41 20 49 44 45 4e 54 49 46 49 45 ISK?.IDENTIFIER.(COMMA.IDENTIFIE
10af40 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 73 3d 22 6c 69 6e R)?.PIPE</span>.<span.class="lin
10af60 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 2f e"></span>.<span.class="line"></
10af80 73 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 53 77 69 74 63 span>.<span.class="line">#.Switc
10afa0 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 61 73 73 3d 22 6c h.specific</span>.<span.class="l
10afc0 69 6e 65 22 3e 53 77 69 74 63 68 50 72 6f 6e 67 20 26 6c 74 3b 2d 20 53 77 69 74 63 68 43 61 73 ine">SwitchProng.&lt;-.SwitchCas
10afe0 65 20 45 51 55 41 4c 52 41 52 52 4f 57 20 50 74 72 50 61 79 6c 6f 61 64 3f 20 41 73 73 69 67 6e e.EQUALRARROW.PtrPayload?.Assign
10b000 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 3c Expr</span>.<span.class="line"><
10b020 2f 73 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 77 69 74 63 68 /span>.<span.class="line">Switch
10b040 43 61 73 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 Case</span>.<span.class="line">.
10b060 20 20 20 26 6c 74 3b 2d 20 53 77 69 74 63 68 49 74 65 6d 20 28 43 4f 4d 4d 41 20 53 77 69 74 63 ...&lt;-.SwitchItem.(COMMA.Switc
10b080 68 49 74 65 6d 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 hItem)*.COMMA?</span>.<span.clas
10b0a0 73 3d 22 6c 69 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 s="line">...../.KEYWORD_else</sp
10b0c0 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>.<
10b0e0 73 70 61 6e 20 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 span.class="line">SwitchItem.&lt
10b100 3b 2d 20 45 78 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 ;-.Expr.(DOT3.Expr)?</span>.<spa
10b120 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
10b140 73 73 3d 22 6c 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 ss="line">#.Operators</span>.<sp
10b160 61 6e 20 63 6c 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 an.class="line">AssignOp</span>.
10b180 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 41 53 54 <span.class="line">....&lt;-.AST
10b1a0 45 52 49 53 4b 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 ERISKEQUAL</span>.<span.class="l
10b1c0 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 4c 41 53 48 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 ine">...../.SLASHEQUAL</span>.<s
10b1e0 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 45 52 43 45 4e 54 45 pan.class="line">...../.PERCENTE
10b200 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">.
10b220 20 20 20 20 2f 20 50 4c 55 53 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ..../.PLUSEQUAL</span>.<span.cla
10b240 73 73 3d 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 ss="line">...../.MINUSEQUAL</spa
10b260 6e 3e 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 41 52 n>.<span.class="line">...../.LAR
10b280 52 4f 57 32 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 ROW2EQUAL</span>.<span.class="li
10b2a0 6e 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 ne">...../.RARROW2EQUAL</span>.<
10b2c0 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 4d 50 45 52 53 41 span.class="line">...../.AMPERSA
10b2e0 4e 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 NDEQUAL</span>.<span.class="line
10b300 22 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 ">...../.CARETEQUAL</span>.<span
10b320 20 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 .class="line">...../.PIPEEQUAL</
10b340 73 70 61 6e 3e 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">...../.
10b360 41 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 ASTERISKPERCENTEQUAL</span>.<spa
10b380 6e 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 n.class="line">...../.PLUSPERCEN
10b3a0 54 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 TEQUAL</span>.<span.class="line"
10b3c0 3e 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 >...../.MINUSPERCENTEQUAL</span>
10b3e0 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 45 51 55 41 4c .<span.class="line">...../.EQUAL
10b400 3c 2f 73 70 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
10b420 6e 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 n>.<span.class="line">CompareOp<
10b440 2f 73 70 61 6e 3e 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
10b460 74 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 t;-.EQUALEQUAL</span>.<span.clas
10b480 73 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 s="line">...../.EXCLAMATIONMARKE
10b4a0 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">.
10b4c0 20 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 ..../.LARROW</span>.<span.class=
10b4e0 22 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 "line">...../.RARROW</span>.<spa
10b500 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 45 51 55 41 n.class="line">...../.LARROWEQUA
10b520 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 20 20 L</span>.<span.class="line">....
10b540 20 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 ./.RARROWEQUAL</span>.<span.clas
10b560 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
10b580 6e 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 ne">BitwiseOp</span>.<span.class
10b5a0 3d 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 ="line">....&lt;-.AMPERSAND</spa
10b5c0 6e 3e 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 n>.<span.class="line">...../.CAR
10b5e0 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">...
10b600 20 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 ../.PIPE</span>.<span.class="lin
10b620 65 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 e">...../.KEYWORD_orelse</span>.
10b640 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 52 <span.class="line">...../.KEYWOR
10b660 44 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 D_catch.Payload?</span>.<span.cl
10b680 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="
10b6a0 6c 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 line">BitShiftOp</span>.<span.cl
10b6c0 61 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 ass="line">....&lt;-.LARROW2</sp
10b6e0 61 6e 3e 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 an>.<span.class="line">...../.RA
10b700 52 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 RROW2</span>.<span.class="line">
10b720 3c 2f 73 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 </span>.<span.class="line">Addit
10b740 69 6f 6e 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 ionOp</span>.<span.class="line">
10b760 20 20 20 20 26 6c 74 3b 2d 20 50 4c 55 53 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ....&lt;-.PLUS</span>.<span.clas
10b780 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 3c 2f 73 70 61 6e 3e 0a 3c 73 70 s="line">...../.MINUS</span>.<sp
10b7a0 61 6e 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 32 3c 2f 73 70 an.class="line">...../.PLUS2</sp
10b7c0 61 6e 3e 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 4c an>.<span.class="line">...../.PL
10b7e0 55 53 50 45 52 43 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 USPERCENT</span>.<span.class="li
10b800 6e 65 22 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 ne">...../.MINUSPERCENT</span>.<
10b820 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.
10b840 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 3c class="line">MultiplyOp</span>.<
10b860 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 45 span.class="line">....&lt;-.PIPE
10b880 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 20 2</span>.<span.class="line">....
10b8a0 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 22 ./.ASTERISK</span>.<span.class="
10b8c0 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 20 line">...../.SLASH</span>.<span.
10b8e0 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 61 class="line">...../.PERCENT</spa
10b900 6e 3e 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 54 n>.<span.class="line">...../.AST
10b920 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 22 ERISK2</span>.<span.class="line"
10b940 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 3c >...../.ASTERISKPERCENT</span>.<
10b960 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.
10b980 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 72 65 66 69 78 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 class="line">PrefixOp</span>.<sp
10b9a0 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 45 58 43 4c 41 4d an.class="line">....&lt;-.EXCLAM
10b9c0 41 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 73 3d 22 6c 69 ATIONMARK</span>.<span.class="li
10b9e0 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ne">...../.MINUS</span>.<span.cl
10ba00 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 54 49 4c 44 45 3c 2f 73 70 61 6e 3e 0a 3c ass="line">...../.TILDE</span>.<
10ba20 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 45 span.class="line">...../.MINUSPE
10ba40 52 43 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 RCENT</span>.<span.class="line">
10ba60 20 20 20 20 20 2f 20 41 4d 50 45 52 53 41 4e 44 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ...../.AMPERSAND</span>.<span.cl
10ba80 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 74 72 79 3c 2f 73 ass="line">...../.KEYWORD_try</s
10baa0 70 61 6e 3e 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 pan>.<span.class="line">...../.K
10bac0 45 59 57 4f 52 44 5f 61 77 61 69 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d EYWORD_await</span>.<span.class=
10bae0 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
10bb00 22 3e 50 72 65 66 69 78 54 79 70 65 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">PrefixTypeOp</span>.<span.clas
10bb20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 51 55 45 53 54 49 4f 4e 4d 41 52 4b 3c s="line">....&lt;-.QUESTIONMARK<
10bb40 2f 73 70 61 6e 3e 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">...../
10bb60 20 4b 45 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 20 4d 49 4e 55 53 52 41 52 52 4f 57 3c 2f 73 .KEYWORD_anyframe.MINUSRARROW</s
10bb80 70 61 6e 3e 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
10bba0 6c 69 63 65 54 79 70 65 53 74 61 72 74 20 28 42 79 74 65 41 6c 69 67 6e 20 2f 20 4b 45 59 57 4f liceTypeStart.(ByteAlign./.KEYWO
10bbc0 52 44 5f 63 6f 6e 73 74 20 2f 20 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 20 2f 20 4b 45 RD_const./.KEYWORD_volatile./.KE
10bbe0 59 57 4f 52 44 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 YWORD_allowzero)*</span>.<span.c
10bc00 6c 61 73 73 3d 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 lass="line">...../.PtrTypeStart.
10bc20 28 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 4c 50 41 52 45 4e 20 45 78 70 72 20 28 43 4f 4c 4f (KEYWORD_align.LPAREN.Expr.(COLO
10bc40 4e 20 49 4e 54 45 47 45 52 20 43 4f 4c 4f 4e 20 49 4e 54 45 47 45 52 29 3f 20 52 50 41 52 45 4e N.INTEGER.COLON.INTEGER)?.RPAREN
10bc60 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 74 ./.KEYWORD_const./.KEYWORD_volat
10bc80 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 3e ile./.KEYWORD_allowzero)*</span>
10bca0 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 79 .<span.class="line">...../.Array
10bcc0 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 69 TypeStart</span>.<span.class="li
10bce0 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 53 ne"></span>.<span.class="line">S
10bd00 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 65 uffixOp</span>.<span.class="line
10bd20 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 20 ">....&lt;-.LBRACKET.Expr.(DOT2.
10bd40 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 45 (Expr?.(COLON.Expr)?)?)?.RBRACKE
10bd60 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">....
10bd80 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 63 ./.DOT.IDENTIFIER</span>.<span.c
10bda0 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 2f lass="line">...../.DOTASTERISK</
10bdc0 73 70 61 6e 3e 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">...../.
10bde0 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 61 DOTQUESTIONMARK</span>.<span.cla
10be00 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
10be20 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 45 ine">FnCallArguments.&lt;-.LPARE
10be40 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 63 N.ExprList.RPAREN</span>.<span.c
10be60 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=
10be80 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 70 "line">#.Ptr.specific</span>.<sp
10bea0 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 26 an.class="line">SliceTypeStart.&
10bec0 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 41 lt;-.LBRACKET.(COLON.Expr)?.RBRA
10bee0 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 3c CKET</span>.<span.class="line"><
10bf00 2f 73 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 70 /span>.<span.class="line">PtrTyp
10bf20 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 22 eStart</span>.<span.class="line"
10bf40 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 6e >....&lt;-.ASTERISK</span>.<span
10bf60 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 2f .class="line">...../.ASTERISK2</
10bf80 73 70 61 6e 3e 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">...../.
10bfa0 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 4c LBRACKET.ASTERISK.(LETTERC./.COL
10bfc0 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 20 ON.Expr)?.RBRACKET</span>.<span.
10bfe0 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
10c000 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 52 ="line">ArrayTypeStart.&lt;-.LBR
10c020 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 45 ACKET.Expr.(COLON.Expr)?.RBRACKE
10c040 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 70 T</span>.<span.class="line"></sp
10c060 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 6e an>.<span.class="line">#.Contain
10c080 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 61 erDecl.specific</span>.<span.cla
10c0a0 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 3b ss="line">ContainerDeclAuto.&lt;
10c0c0 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 61 -.ContainerDeclType.LBRACE.conta
10c0e0 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 65 iner_doc_comment?.ContainerMembe
10c100 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 69 rs.RBRACE</span>.<span.class="li
10c120 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
10c140 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 6c ontainerDeclType</span>.<span.cl
10c160 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 72 ass="line">....&lt;-.KEYWORD_str
10c180 75 63 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 uct</span>.<span.class="line">..
10c1a0 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .../.KEYWORD_opaque</span>.<span
10c1c0 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 65 6e 75 .class="line">...../.KEYWORD_enu
10c1e0 6d 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 3e 0a 3c m.(LPAREN.Expr.RPAREN)?</span>.<
10c200 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
10c220 5f 75 6e 69 6f 6e 20 28 4c 50 41 52 45 4e 20 28 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 28 4c 50 _union.(LPAREN.(KEYWORD_enum.(LP
10c240 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 29 3f 20 2f 20 45 78 70 72 29 20 52 50 41 52 45 AREN.Expr.RPAREN)?./.Expr).RPARE
10c260 4e 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 2f N)?</span>.<span.class="line"></
10c280 73 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 41 6c 69 67 6e span>.<span.class="line">#.Align
10c2a0 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 42 ment</span>.<span.class="line">B
10c2c0 79 74 65 41 6c 69 67 6e 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 4c 50 41 yteAlign.&lt;-.KEYWORD_align.LPA
10c2e0 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 61 REN.Expr.RPAREN</span>.<span.cla
10c300 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
10c320 69 6e 65 22 3e 23 20 4c 69 73 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ine">#.Lists</span>.<span.class=
10c340 22 6c 69 6e 65 22 3e 49 64 65 6e 74 69 66 69 65 72 4c 69 73 74 20 26 6c 74 3b 2d 20 28 64 6f 63 "line">IdentifierList.&lt;-.(doc
10c360 5f 63 6f 6d 6d 65 6e 74 3f 20 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4d 4d 41 29 2a 20 28 64 6f _comment?.IDENTIFIER.COMMA)*.(do
10c380 63 5f 63 6f 6d 6d 65 6e 74 3f 20 49 44 45 4e 54 49 46 49 45 52 29 3f 3c 2f 73 70 61 6e 3e 0a 3c c_comment?.IDENTIFIER)?</span>.<
10c3a0 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.
10c3c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 77 69 74 63 68 50 72 6f 6e 67 4c 69 73 74 20 26 6c 74 class="line">SwitchProngList.&lt
10c3e0 3b 2d 20 28 53 77 69 74 63 68 50 72 6f 6e 67 20 43 4f 4d 4d 41 29 2a 20 53 77 69 74 63 68 50 72 ;-.(SwitchProng.COMMA)*.SwitchPr
10c400 6f 6e 67 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 ong?</span>.<span.class="line"><
10c420 2f 73 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 4f 75 74 /span>.<span.class="line">AsmOut
10c440 70 75 74 4c 69 73 74 20 26 6c 74 3b 2d 20 28 41 73 6d 4f 75 74 70 75 74 49 74 65 6d 20 43 4f 4d putList.&lt;-.(AsmOutputItem.COM
10c460 4d 41 29 2a 20 41 73 6d 4f 75 74 70 75 74 49 74 65 6d 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e MA)*.AsmOutputItem?</span>.<span
10c480 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
10c4a0 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 49 6e 70 75 74 4c 69 73 74 20 26 6c 74 3b 2d 20 28 41 73 6d s="line">AsmInputList.&lt;-.(Asm
10c4c0 49 6e 70 75 74 49 74 65 6d 20 43 4f 4d 4d 41 29 2a 20 41 73 6d 49 6e 70 75 74 49 74 65 6d 3f 3c InputItem.COMMA)*.AsmInputItem?<
10c4e0 2f 73 70 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
10c500 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 74 72 69 6e 67 4c 69 73 74 20 >.<span.class="line">StringList.
10c520 26 6c 74 3b 2d 20 28 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 20 43 4f 4d 4d 41 29 2a 20 53 54 52 &lt;-.(STRINGLITERAL.COMMA)*.STR
10c540 49 4e 47 4c 49 54 45 52 41 4c 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 INGLITERAL?</span>.<span.class="
10c560 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"
10c580 3e 50 61 72 61 6d 44 65 63 6c 4c 69 73 74 20 26 6c 74 3b 2d 20 28 50 61 72 61 6d 44 65 63 6c 20 >ParamDeclList.&lt;-.(ParamDecl.
10c5a0 43 4f 4d 4d 41 29 2a 20 50 61 72 61 6d 44 65 63 6c 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 COMMA)*.ParamDecl?</span>.<span.
10c5c0 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
10c5e0 3d 22 6c 69 6e 65 22 3e 45 78 70 72 4c 69 73 74 20 26 6c 74 3b 2d 20 28 45 78 70 72 20 43 4f 4d ="line">ExprList.&lt;-.(Expr.COM
10c600 4d 41 29 2a 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 MA)*.Expr?</span>.<span.class="l
10c620 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">
10c640 23 20 2a 2a 2a 20 54 6f 6b 65 6e 73 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c #.***.Tokens.***</span>.<span.cl
10c660 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6f 66 20 26 6c 74 3b 2d 20 21 2e 3c 2f 73 70 61 6e 3e 0a 3c ass="line">eof.&lt;-.!.</span>.<
10c680 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 69 6e 20 26 6c 74 3b 2d 20 5b 30 31 5d span.class="line">bin.&lt;-.[01]
10c6a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 69 6e 5f 20 </span>.<span.class="line">bin_.
10c6c0 26 6c 74 3b 2d 20 27 5f 27 3f 20 62 69 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 &lt;-.'_'?.bin</span>.<span.clas
10c6e0 73 3d 22 6c 69 6e 65 22 3e 6f 63 74 20 26 6c 74 3b 2d 20 5b 30 2d 37 5d 3c 2f 73 70 61 6e 3e 0a s="line">oct.&lt;-.[0-7]</span>.
10c700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 63 74 5f 20 26 6c 74 3b 2d 20 27 5f <span.class="line">oct_.&lt;-.'_
10c720 27 3f 20 6f 63 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 '?.oct</span>.<span.class="line"
10c740 3e 68 65 78 20 26 6c 74 3b 2d 20 5b 30 2d 39 61 2d 66 41 2d 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 >hex.&lt;-.[0-9a-fA-F]</span>.<s
10c760 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 78 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f pan.class="line">hex_.&lt;-.'_'?
10c780 20 68 65 78 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 .hex</span>.<span.class="line">d
10c7a0 65 63 20 26 6c 74 3b 2d 20 5b 30 2d 39 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ec.&lt;-.[0-9]</span>.<span.clas
10c7c0 73 3d 22 6c 69 6e 65 22 3e 64 65 63 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 64 65 63 3c 2f 73 70 s="line">dec_.&lt;-.'_'?.dec</sp
10c7e0 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>.<
10c800 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 69 6e 5f 69 6e 74 20 26 6c 74 3b 2d 20 span.class="line">bin_int.&lt;-.
10c820 62 69 6e 20 62 69 6e 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 bin.bin_*</span>.<span.class="li
10c840 6e 65 22 3e 6f 63 74 5f 69 6e 74 20 26 6c 74 3b 2d 20 6f 63 74 20 6f 63 74 5f 2a 3c 2f 73 70 61 ne">oct_int.&lt;-.oct.oct_*</spa
10c860 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 5f 69 6e 74 20 26 6c n>.<span.class="line">dec_int.&l
10c880 74 3b 2d 20 64 65 63 20 64 65 63 5f 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 t;-.dec.dec_*</span>.<span.class
10c8a0 3d 22 6c 69 6e 65 22 3e 68 65 78 5f 69 6e 74 20 26 6c 74 3b 2d 20 68 65 78 20 68 65 78 5f 2a 3c ="line">hex_int.&lt;-.hex.hex_*<
10c8c0 2f 73 70 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
10c8e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 38 30 5f 6f 78 42 46 20 26 >.<span.class="line">ox80_oxBF.&
10c900 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 37 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c lt;-.[\200-\277]</span>.<span.cl
10c920 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 46 34 20 26 6c 74 3b 2d 20 27 5c 33 36 34 27 3c 2f 73 70 ass="line">oxF4.&lt;-.'\364'</sp
10c940 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 38 30 5f 6f 78 38 46 an>.<span.class="line">ox80_ox8F
10c960 20 26 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 31 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .&lt;-.[\200-\217]</span>.<span.
10c980 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 46 31 5f 6f 78 46 33 20 26 6c 74 3b 2d 20 5b 5c 33 class="line">oxF1_oxF3.&lt;-.[\3
10c9a0 36 31 2d 5c 33 36 33 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 61-\363]</span>.<span.class="lin
10c9c0 65 22 3e 6f 78 46 30 20 26 6c 74 3b 2d 20 27 5c 33 36 30 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 e">oxF0.&lt;-.'\360'</span>.<spa
10c9e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 39 30 5f 30 78 42 46 20 26 6c 74 3b 2d 20 5b n.class="line">ox90_0xBF.&lt;-.[
10ca00 5c 32 32 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 \220-\277]</span>.<span.class="l
10ca20 69 6e 65 22 3e 6f 78 45 45 5f 6f 78 45 46 20 26 6c 74 3b 2d 20 5b 5c 33 35 36 2d 5c 33 35 37 5d ine">oxEE_oxEF.&lt;-.[\356-\357]
10ca40 3c 2f 73 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 44 20 </span>.<span.class="line">oxED.
10ca60 26 6c 74 3b 2d 20 27 5c 33 35 35 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &lt;-.'\355'</span>.<span.class=
10ca80 22 6c 69 6e 65 22 3e 6f 78 38 30 5f 6f 78 39 46 20 26 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 33 "line">ox80_ox9F.&lt;-.[\200-\23
10caa0 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 22 3e 6f 78 45 7]</span>.<span.class="line">oxE
10cac0 31 5f 6f 78 45 43 20 26 6c 74 3b 2d 20 5b 5c 33 34 31 2d 5c 33 35 34 5d 3c 2f 73 70 61 6e 3e 0a 1_oxEC.&lt;-.[\341-\354]</span>.
10cae0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 45 30 20 26 6c 74 3b 2d 20 27 5c <span.class="line">oxE0.&lt;-.'\
10cb00 33 34 30 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 340'</span>.<span.class="line">o
10cb20 78 41 30 5f 6f 78 42 46 20 26 6c 74 3b 2d 20 5b 5c 32 34 30 2d 5c 32 37 37 5d 3c 2f 73 70 61 6e xA0_oxBF.&lt;-.[\240-\277]</span
10cb40 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 43 32 5f 6f 78 44 46 20 26 >.<span.class="line">oxC2_oxDF.&
10cb60 6c 74 3b 2d 20 5b 5c 33 30 32 2d 5c 33 33 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c lt;-.[\302-\337]</span>.<span.cl
10cb80 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="
10cba0 6c 69 6e 65 22 3e 23 20 46 72 6f 6d 20 68 74 74 70 73 3a 2f 2f 6c 65 6d 69 72 65 2e 6d 65 2f 62 line">#.From.https://lemire.me/b
10cbc0 6c 6f 67 2f 32 30 31 38 2f 30 35 2f 30 39 2f 68 6f 77 2d 71 75 69 63 6b 6c 79 2d 63 61 6e 2d 79 log/2018/05/09/how-quickly-can-y
10cbe0 6f 75 2d 63 68 65 63 6b 2d 74 68 61 74 2d 61 2d 73 74 72 69 6e 67 2d 69 73 2d 76 61 6c 69 64 2d ou-check-that-a-string-is-valid-
10cc00 75 6e 69 63 6f 64 65 2d 75 74 66 2d 38 2f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 unicode-utf-8/</span>.<span.clas
10cc20 73 3d 22 6c 69 6e 65 22 3e 23 20 46 69 72 73 74 20 42 79 74 65 20 20 20 20 20 20 53 65 63 6f 6e s="line">#.First.Byte......Secon
10cc40 64 20 42 79 74 65 20 20 20 20 20 54 68 69 72 64 20 42 79 74 65 20 20 20 20 20 20 46 6f 75 72 74 d.Byte.....Third.Byte......Fourt
10cc60 68 20 42 79 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 h.Byte</span>.<span.class="line"
10cc80 3e 23 20 5b 30 78 30 30 2c 30 78 37 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >#.[0x00,0x7F]</span>.<span.clas
10cca0 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 43 32 2c 30 78 44 46 5d 20 20 20 20 20 5b 30 78 38 30 s="line">#.[0xC2,0xDF].....[0x80
10ccc0 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 3d 22 6c 69 6e 65 22 ,0xBF]</span>.<span.class="line"
10cce0 3e 23 20 20 20 20 30 78 45 30 20 20 20 20 20 20 20 20 20 5b 30 78 41 30 2c 30 78 42 46 5d 20 20 >#....0xE0.........[0xA0,0xBF]..
10cd00 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 61 6e 20 63 6c 61 73 ...[0x80,0xBF]</span>.<span.clas
10cd20 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 45 31 2c 30 78 45 43 5d 20 20 20 20 20 5b 30 78 38 30 s="line">#.[0xE1,0xEC].....[0x80
10cd40 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 70 61 6e 3e 0a 3c 73 ,0xBF].....[0x80,0xBF]</span>.<s
10cd60 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 44 20 20 20 20 20 20 pan.class="line">#....0xED......
10cd80 20 20 20 5b 30 78 38 30 2c 30 78 39 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f ...[0x80,0x9F].....[0x80,0xBF]</
10cda0 73 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 45 45 span>.<span.class="line">#.[0xEE
10cdc0 2c 30 78 45 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 ,0xEF].....[0x80,0xBF].....[0x80
10cde0 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 3d 22 6c 69 6e 65 22 ,0xBF]</span>.<span.class="line"
10ce00 3e 23 20 20 20 20 30 78 46 30 20 20 20 20 20 20 20 20 20 5b 30 78 39 30 2c 30 78 42 46 5d 20 20 >#....0xF0.........[0x90,0xBF]..
10ce20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f ...[0x80,0xBF].....[0x80,0xBF]</
10ce40 73 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 46 31 span>.<span.class="line">#.[0xF1
10ce60 2c 30 78 46 33 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 ,0xF3].....[0x80,0xBF].....[0x80
10ce80 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 70 61 6e 3e 0a 3c 73 ,0xBF].....[0x80,0xBF]</span>.<s
10cea0 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 34 20 20 20 20 20 20 pan.class="line">#....0xF4......
10cec0 20 20 20 5b 30 78 38 30 2c 30 78 38 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 ...[0x80,0x8F].....[0x80,0xBF]..
10cee0 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 61 6e 20 63 6c 61 73 ...[0x80,0xBF]</span>.<span.clas
10cf00 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
10cf20 6e 65 22 3e 6d 62 5f 75 74 66 38 5f 6c 69 74 65 72 61 6c 20 26 6c 74 3b 2d 3c 2f 73 70 61 6e 3e ne">mb_utf8_literal.&lt;-</span>
10cf40 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 6f 78 46 34 20 .<span.class="line">.......oxF4.
10cf60 20 20 20 20 20 6f 78 38 30 5f 6f 78 38 46 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 .....ox80_ox8F.ox80_oxBF.ox80_ox
10cf80 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">...
10cfa0 20 20 2f 20 6f 78 46 31 5f 6f 78 46 33 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 ../.oxF1_oxF3.ox80_oxBF.ox80_oxB
10cfc0 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="
10cfe0 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 46 30 20 20 20 20 20 20 6f 78 39 30 5f 30 78 42 46 line">...../.oxF0......ox90_0xBF
10d000 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 0a 3c 73 70 61 .ox80_oxBF.ox80_oxBF</span>.<spa
10d020 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 45 45 5f 6f 78 45 46 20 n.class="line">...../.oxEE_oxEF.
10d040 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 0a 3c 73 70 61 6e ox80_oxBF.ox80_oxBF</span>.<span
10d060 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 45 44 20 20 20 20 20 20 6f .class="line">...../.oxED......o
10d080 78 38 30 5f 6f 78 39 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 x80_ox9F.ox80_oxBF</span>.<span.
10d0a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 45 31 5f 6f 78 45 43 20 6f 78 class="line">...../.oxE1_oxEC.ox
10d0c0 38 30 5f 6f 78 42 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 80_oxBF.ox80_oxBF</span>.<span.c
10d0e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 45 30 20 20 20 20 20 20 6f 78 41 lass="line">...../.oxE0......oxA
10d100 30 5f 6f 78 42 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 0_oxBF.ox80_oxBF</span>.<span.cl
10d120 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 43 32 5f 6f 78 44 46 20 6f 78 38 30 ass="line">...../.oxC2_oxDF.ox80
10d140 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 22 3e _oxBF</span>.<span.class="line">
10d160 3c 2f 73 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 73 63 69 69 </span>.<span.class="line">ascii
10d180 5f 63 68 61 72 5f 6e 6f 74 5f 6e 6c 5f 73 6c 61 73 68 5f 73 71 75 6f 74 65 20 26 6c 74 3b 2d 20 _char_not_nl_slash_squote.&lt;-.
10d1a0 5b 5c 30 30 30 2d 5c 30 31 31 5c 30 31 33 2d 5c 30 34 36 2d 5c 30 35 30 2d 5c 31 33 33 5c 31 33 [\000-\011\013-\046-\050-\133\13
10d1c0 35 2d 5c 31 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 5-\177]</span>.<span.class="line
10d1e0 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 63 68 61 "></span>.<span.class="line">cha
10d200 72 5f 65 73 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 r_escape</span>.<span.class="lin
10d220 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 5c 5c 78 26 71 75 6f 74 3b 20 68 65 78 e">....&lt;-.&quot;\\x&quot;.hex
10d240 20 68 65 78 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 .hex</span>.<span.class="line">.
10d260 20 20 20 20 2f 20 26 71 75 6f 74 3b 5c 5c 75 7b 26 71 75 6f 74 3b 20 68 65 78 2b 20 26 71 75 6f ..../.&quot;\\u{&quot;.hex+.&quo
10d280 74 3b 7d 26 71 75 6f 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 t;}&quot;</span>.<span.class="li
10d2a0 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 5c 5c 26 71 75 6f 74 3b 20 5b 6e 72 5c 5c 74 ne">...../.&quot;\\&quot;.[nr\\t
10d2c0 27 26 71 75 6f 74 3b 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 '&quot;]</span>.<span.class="lin
10d2e0 65 22 3e 63 68 61 72 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 e">char_char</span>.<span.class=
10d300 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 6d 62 5f 75 74 66 38 5f 6c 69 74 65 72 61 6c "line">....&lt;-.mb_utf8_literal
10d320 3c 2f 73 70 61 6e 3e 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">.....
10d340 2f 20 63 68 61 72 5f 65 73 63 61 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 /.char_escape</span>.<span.class
10d360 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 61 73 63 69 69 5f 63 68 61 72 5f 6e 6f 74 5f 6e 6c ="line">...../.ascii_char_not_nl
10d380 5f 73 6c 61 73 68 5f 73 71 75 6f 74 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 _slash_squote</span>.<span.class
10d3a0 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
10d3c0 65 22 3e 73 74 72 69 6e 67 5f 63 68 61 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 e">string_char</span>.<span.clas
10d3e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 63 68 61 72 5f 65 73 63 61 70 65 3c 2f s="line">....&lt;-.char_escape</
10d400 73 70 61 6e 3e 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">...../.
10d420 5b 5e 5c 5c 26 71 75 6f 74 3b 5c 6e 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 [^\\&quot;\n]</span>.<span.class
10d440 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
10d460 65 22 3e 63 6f 6e 74 61 69 6e 65 72 5f 64 6f 63 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 28 e">container_doc_comment.&lt;-.(
10d480 27 2f 2f 21 27 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 '//!'.[^\n]*.[.\n]*)+</span>.<sp
10d4a0 61 6e 20 63 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 an.class="line">doc_comment.&lt;
10d4c0 2d 20 28 27 2f 2f 2f 27 20 5b 5e 5c 6e 5d 2a 20 5b 20 5c 6e 5d 2a 29 2b 3c 2f 73 70 61 6e 3e 0a -.('///'.[^\n]*.[.\n]*)+</span>.
10d4e0 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 20 <span.class="line">line_comment.
10d500 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 20 &lt;-.'//'.![!/][^\n]*./.'////'.
10d520 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 22 [^\n]*</span>.<span.class="line"
10d540 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 71 >line_string.&lt;-.(&quot;\\\\&q
10d560 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 61 uot;.[^\n]*.[.\n]*)+</span>.<spa
10d580 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 5d n.class="line">skip.&lt;-.([.\n]
10d5a0 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 63 ./.line_comment)*</span>.<span.c
10d5c0 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=
10d5e0 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 3b "line">CHAR_LITERAL.&lt;-.&quot;
10d600 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 20 '&quot;.char_char.&quot;'&quot;.
10d620 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 46 skip</span>.<span.class="line">F
10d640 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 20 LOAT</span>.<span.class="line">.
10d660 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 20 ...&lt;-.&quot;0x&quot;.hex_int.
10d680 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 5d &quot;.&quot;.hex_int.([pP].[-+]
10d6a0 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
10d6c0 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 26 ass="line">...../......dec_int.&
10d6e0 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 3f quot;.&quot;.dec_int.([eE].[-+]?
10d700 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 61 .dec_int)?.skip</span>.<span.cla
10d720 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 20 ss="line">...../.&quot;0x&quot;.
10d740 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 3c hex_int.[pP].[-+]?.dec_int.skip<
10d760 2f 73 70 61 6e 3e 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">...../
10d780 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 74 ......dec_int.[eE].[-+]?.dec_int
10d7a0 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">
10d7c0 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 65 INTEGER</span>.<span.class="line
10d7e0 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 69 ">....&lt;-.&quot;0b&quot;.bin_i
10d800 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 65 nt.skip</span>.<span.class="line
10d820 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 20 ">...../.&quot;0o&quot;.oct_int.
10d840 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 20 skip</span>.<span.class="line">.
10d860 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 69 ..../.&quot;0x&quot;.hex_int.ski
10d880 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 20 p</span>.<span.class="line">....
10d8a0 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 73 ./......dec_int...skip</span>.<s
10d8c0 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 49 pan.class="line">STRINGLITERALSI
10d8e0 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 73 NGLE.&lt;-.&quot;\&quot;&quot;.s
10d900 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 20 tring_char*.&quot;\&quot;&quot;.
10d920 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
10d940 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 3d TRINGLITERAL</span>.<span.class=
10d960 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 49 "line">....&lt;-.STRINGLITERALSI
10d980 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 20 NGLE</span>.<span.class="line">.
10d9a0 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 20 ..../.(line_string..............
10d9c0 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 69 ...skip)+</span>.<span.class="li
10d9e0 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 73 ne">IDENTIFIER</span>.<span.clas
10da00 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 5a s="line">....&lt;-.!keyword.[A-Z
10da20 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 0a a-z_].[A-Za-z0-9_]*.skip</span>.
10da40 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 3b <span.class="line">...../.&quot;
10da60 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 6f @\&quot;&quot;.string_char*.&quo
10da80 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 20 t;\&quot;&quot;.................
10daa0 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 61 ...........skip</span>.<span.cla
10dac0 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 3b ss="line">BUILTINIDENTIFIER.&lt;
10dae0 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 30 -.&quot;@&quot;[A-Za-z_][A-Za-z0
10db00 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 6c -9_]*.skip</span>.<span.class="l
10db20 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">
10db40 3c 2f 73 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 52 </span>.<span.class="line">AMPER
10db60 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 20 SAND............&lt;-.'&amp;'...
10db80 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
10dba0 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 20 lass="line">AMPERSANDEQUAL......
10dbc0 20 26 6c 74 3b 2d 20 27 26 61 6d 70 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b .&lt;-.'&amp;='...............sk
10dbe0 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 54 ip</span>.<span.class="line">AST
10dc00 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 20 ERISK.............&lt;-.'*'.....
10dc20 20 21 5b 2a 25 3d 5d 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 .![*%=]....skip</span>.<span.cla
10dc40 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 26 ss="line">ASTERISK2............&
10dc60 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 70 lt;-.'**'...............skip</sp
10dc80 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 45 an>.<span.class="line">ASTERISKE
10dca0 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 20 QUAL........&lt;-.'*='..........
10dcc0 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
10dce0 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 27 ne">ASTERISKPERCENT......&lt;-.'
10dd00 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 73 *%'.....![=]......skip</span>.<s
10dd20 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 54 pan.class="line">ASTERISKPERCENT
10dd40 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 73 EQUAL.&lt;-.'*%='..............s
10dd60 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 43 41 kip</span>.<span.class="line">CA
10dd80 52 45 54 20 20 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 RET................&lt;-.'^'....
10dda0 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 6c ..![=]......skip</span>.<span.cl
10ddc0 61 73 73 3d 22 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 ass="line">CARETEQUAL...........
10dde0 26 6c 74 3b 2d 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 &lt;-.'^='...............skip</s
10de00 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 4f 4c 4f 4e 20 20 20 pan>.<span.class="line">COLON...
10de20 20 20 20 20 20 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 .............&lt;-.':'..........
10de40 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
10de60 69 6e 65 22 3e 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 ine">COMMA................&lt;-.
10de80 27 2c 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>.<
10dea0 73 70 61 6e 20 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 span.class="line">DOT...........
10dec0 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 27 20 20 20 20 20 20 21 5b 2a 2e 3f 5d 20 20 20 20 .......&lt;-.'.'......![*.?]....
10dee0 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 44 skip</span>.<span.class="line">D
10df00 4f 54 32 20 20 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 OT2.................&lt;-.'..'..
10df20 20 20 20 21 5b 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 ...![.]......skip</span>.<span.c
10df40 6c 61 73 73 3d 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 lass="line">DOT3................
10df60 20 26 6c 74 3b 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 .&lt;-.'...'..............skip</
10df80 73 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 41 53 54 45 span>.<span.class="line">DOTASTE
10dfa0 52 49 53 4b 20 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 RISK..........&lt;-.'.*'........
10dfc0 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="
10dfe0 6c 69 6e 65 22 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 line">DOTQUESTIONMARK......&lt;-
10e000 20 27 2e 3f 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>.
10e020 3c 73 70 61 6e 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 <span.class="line">EQUAL........
10e040 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d 27 20 20 20 20 20 20 21 5b 26 67 74 3b 3d 5d 20 ........&lt;-.'='......![&gt;=].
10e060 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 6e ....skip</span>.<span.class="lin
10e080 65 22 3e 45 51 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 e">EQUALEQUAL...........&lt;-.'=
10e0a0 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 3c 73 70 ='...............skip</span>.<sp
10e0c0 61 6e 20 63 6c 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 an.class="line">EQUALRARROW.....
10e0e0 20 20 20 20 20 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 .....&lt;-.'=&gt;'..............
10e100 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">
10e120 45 58 43 4c 41 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 EXCLAMATIONMARK......&lt;-.'!'..
10e140 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.
10e160 63 6c 61 73 73 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 class="line">EXCLAMATIONMARKEQUA
10e180 4c 20 26 6c 74 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 L.&lt;-.'!='...............skip<
10e1a0 2f 73 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 57 /span>.<span.class="line">LARROW
10e1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 27 20 20 20 20 20 ...............&lt;-.'&lt;'.....
10e1e0 20 21 5b 26 6c 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 .![&lt;=].....skip</span>.<span.
10e200 63 6c 61 73 73 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 class="line">LARROW2............
10e220 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 26 6c 74 3b 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 ..&lt;-.'&lt;&lt;'.....![=].....
10e240 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">
10e260 4c 41 52 52 4f 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 LARROW2EQUAL.........&lt;-.'&lt;
10e280 26 6c 74 3b 3d 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 &lt;='..............skip</span>.
10e2a0 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 20 <span.class="line">LARROWEQUAL..
10e2c0 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 20 ........&lt;-.'&lt;='...........
10e2e0 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 6e ....skip</span>.<span.class="lin
10e300 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 7b e">LBRACE...............&lt;-.'{
10e320 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 70 '................skip</span>.<sp
10e340 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 20 an.class="line">LBRACKET........
10e360 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 6b .....&lt;-.'['................sk
10e380 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 41 ip</span>.<span.class="line">LPA
10e3a0 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 20 REN...............&lt;-.'('.....
10e3c0 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 61 ...........skip</span>.<span.cla
10e3e0 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 26 ss="line">MINUS................&
10e400 6c 74 3b 2d 20 27 2d 27 20 20 20 20 20 20 21 5b 25 3d 26 67 74 3b 5d 20 20 20 20 73 6b 69 70 3c lt;-.'-'......![%=&gt;]....skip<
10e420 2f 73 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 45 /span>.<span.class="line">MINUSE
10e440 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 3d 27 20 20 20 20 20 20 20 QUAL...........&lt;-.'-='.......
10e460 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=
10e480 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 3b "line">MINUSPERCENT.........&lt;
10e4a0 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 3e -.'-%'.....![=]......skip</span>
10e4c0 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 54 .<span.class="line">MINUSPERCENT
10e4e0 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 20 EQUAL....&lt;-.'-%='............
10e500 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"
10e520 3e 4d 49 4e 55 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 >MINUSRARROW..........&lt;-.'-&g
10e540 74 3b 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 3c 73 t;'...............skip</span>.<s
10e560 70 61 6e 20 63 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 pan.class="line">PERCENT........
10e580 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 25 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 ......&lt;-.'%'......![=]......s
10e5a0 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 50 45 kip</span>.<span.class="line">PE
10e5c0 52 43 45 4e 54 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 25 3d 27 20 20 20 RCENTEQUAL.........&lt;-.'%='...
10e5e0 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
10e600 61 73 73 3d 22 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 ass="line">PIPE.................
10e620 26 6c 74 3b 2d 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 &lt;-.'|'......![|=].....skip</s
10e640 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 49 50 45 32 20 20 20 pan>.<span.class="line">PIPE2...
10e660 20 20 20 20 20 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 .............&lt;-.'||'.........
10e680 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
10e6a0 69 6e 65 22 3e 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 ine">PIPEEQUAL............&lt;-.
10e6c0 27 7c 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 3c '|='...............skip</span>.<
10e6e0 73 70 61 6e 20 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 span.class="line">PLUS..........
10e700 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 27 20 20 20 20 20 20 21 5b 25 2b 3d 5d 20 20 20 20 .......&lt;-.'+'......![%+=]....
10e720 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 50 skip</span>.<span.class="line">P
10e740 4c 55 53 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 2b 27 20 20 LUS2................&lt;-.'++'..
10e760 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
10e780 6c 61 73 73 3d 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 lass="line">PLUSEQUAL...........
10e7a0 20 26 6c 74 3b 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 .&lt;-.'+='...............skip</
10e7c0 73 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 45 52 span>.<span.class="line">PLUSPER
10e7e0 43 45 4e 54 20 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 CENT..........&lt;-.'+%'.....![=
10e800 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="
10e820 6c 69 6e 65 22 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 line">PLUSPERCENTEQUAL.....&lt;-
10e840 20 27 2b 25 3d 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 .'+%='..............skip</span>.
10e860 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 45 54 54 45 52 43 20 20 20 20 20 20 <span.class="line">LETTERC......
10e880 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 63 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........&lt;-.'c'...............
10e8a0 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">
10e8c0 51 55 45 53 54 49 4f 4e 4d 41 52 4b 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3f 27 20 20 QUESTIONMARK.........&lt;-.'?'..
10e8e0 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.
10e900 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 41 52 52 4f 57 20 20 20 20 20 20 20 20 20 20 20 20 20 class="line">RARROW.............
10e920 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 27 20 20 20 20 20 20 21 5b 26 67 74 3b 3d 5d 20 20 20 20 ..&lt;-.'&gt;'......![&gt;=]....
10e940 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">
10e960 52 41 52 52 4f 57 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b RARROW2..............&lt;-.'&gt;
10e980 26 67 74 3b 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 &gt;'.....![=]......skip</span>.
10e9a0 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 45 51 55 41 4c 20 <span.class="line">RARROW2EQUAL.
10e9c0 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 26 67 74 3b 3d 27 20 20 20 20 20 20 20 ........&lt;-.'&gt;&gt;='.......
10e9e0 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="
10ea00 6c 69 6e 65 22 3e 52 41 52 52 4f 57 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d line">RARROWEQUAL..........&lt;-
10ea20 20 27 26 67 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 .'&gt;='...............skip</spa
10ea40 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 45 20 20 20 20 n>.<span.class="line">RBRACE....
10ea60 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7d 27 20 20 20 20 20 20 20 20 20 20 20 20 ...........&lt;-.'}'............
10ea80 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 6e ....skip</span>.<span.class="lin
10eaa0 65 22 3e 52 42 52 41 43 4b 45 54 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5d e">RBRACKET.............&lt;-.']
10eac0 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 70 '................skip</span>.<sp
10eae0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 50 41 52 45 4e 20 20 20 20 20 20 20 20 20 20 an.class="line">RPAREN..........
10eb00 20 20 20 20 20 26 6c 74 3b 2d 20 27 29 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b .....&lt;-.')'................sk
10eb20 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 45 4d ip</span>.<span.class="line">SEM
10eb40 49 43 4f 4c 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3b 27 20 20 20 20 20 ICOLON............&lt;-.';'.....
10eb60 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 61 ...........skip</span>.<span.cla
10eb80 73 73 3d 22 6c 69 6e 65 22 3e 53 4c 41 53 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 ss="line">SLASH................&
10eba0 6c 74 3b 2d 20 27 2f 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 lt;-.'/'......![=]......skip</sp
10ebc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 4c 41 53 48 45 51 55 41 an>.<span.class="line">SLASHEQUA
10ebe0 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2f 3d 27 20 20 20 20 20 20 20 20 20 20 L...........&lt;-.'/='..........
10ec00 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
10ec20 6e 65 22 3e 54 49 4c 44 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 ne">TILDE................&lt;-.'
10ec40 7e 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
10ec60 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
10ec80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6e 64 5f 6f 66 5f 77 6f 72 64 20 26 6c 74 3b 2d 20 21 5b lass="line">end_of_word.&lt;-.![
10eca0 61 2d 7a 41 2d 5a 30 2d 39 5f 5d 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c a-zA-Z0-9_].skip</span>.<span.cl
10ecc0 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 20 20 26 ass="line">KEYWORD_align.......&
10ece0 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 64 3c 2f lt;-.'align'.......end_of_word</
10ed00 73 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 span>.<span.class="line">KEYWORD
10ed20 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 27 20 20 _allowzero...&lt;-.'allowzero'..
10ed40 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 3d .end_of_word</span>.<span.class=
10ed60 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 74 3b 2d "line">KEYWORD_and.........&lt;-
10ed80 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 70 61 6e .'and'.........end_of_word</span
10eda0 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 61 6e 79 >.<span.class="line">KEYWORD_any
10edc0 66 72 61 6d 65 20 20 20 20 26 6c 74 3b 2d 20 27 61 6e 79 66 72 61 6d 65 27 20 20 20 20 65 6e 64 frame....&lt;-.'anyframe'....end
10ede0 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 6e _of_word</span>.<span.class="lin
10ee00 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 27 61 6e e">KEYWORD_anytype.....&lt;-.'an
10ee20 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 0a 3c 73 ytype'.....end_of_word</span>.<s
10ee40 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 20 20 20 pan.class="line">KEYWORD_asm....
10ee60 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 6f 66 5f .....&lt;-.'asm'.........end_of_
10ee80 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 4b word</span>.<span.class="line">K
10eea0 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 6e 63 27 EYWORD_async.......&lt;-.'async'
10eec0 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 20 .......end_of_word</span>.<span.
10eee0 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 20 20 20 class="line">KEYWORD_await......
10ef00 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 6f 72 64 .&lt;-.'await'.......end_of_word
10ef20 3c 2f 73 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 </span>.<span.class="line">KEYWO
10ef40 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 20 20 20 RD_break.......&lt;-.'break'....
10ef60 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 73 ...end_of_word</span>.<span.clas
10ef80 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 26 6c 74 s="line">KEYWORD_callconv....&lt
10efa0 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 2f 73 70 ;-.'callconv'....end_of_word</sp
10efc0 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 63 an>.<span.class="line">KEYWORD_c
10efe0 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 20 20 65 atch.......&lt;-.'catch'.......e
10f000 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 6c nd_of_word</span>.<span.class="l
10f020 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 2d 20 27 ine">KEYWORD_comptime....&lt;-.'
10f040 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 6e 3e 0a comptime'....end_of_word</span>.
10f060 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 6e 73 74 <span.class="line">KEYWORD_const
10f080 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 64 5f 6f .......&lt;-.'const'.......end_o
10f0a0 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 22 f_word</span>.<span.class="line"
10f0c0 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 6f 6e 74 >KEYWORD_continue....&lt;-.'cont
10f0e0 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 73 70 61 inue'....end_of_word</span>.<spa
10f100 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 20 20 20 n.class="line">KEYWORD_defer....
10f120 20 20 20 26 6c 74 3b 2d 20 27 64 65 66 65 72 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f ...&lt;-.'defer'.......end_of_wo
10f140 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 59 rd</span>.<span.class="line">KEY
10f160 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 20 20 20 WORD_else........&lt;-.'else'...
10f180 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 6c .....end_of_word</span>.<span.cl
10f1a0 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 20 20 26 ass="line">KEYWORD_enum........&
10f1c0 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 64 3c 2f lt;-.'enum'........end_of_word</
10f1e0 73 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 span>.<span.class="line">KEYWORD
10f200 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 20 20 20 _errdefer....&lt;-.'errdefer'...
10f220 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 3d .end_of_word</span>.<span.class=
10f240 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 74 3b 2d "line">KEYWORD_error.......&lt;-
10f260 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 70 61 6e .'error'.......end_of_word</span
10f280 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 65 78 70 >.<span.class="line">KEYWORD_exp
10f2a0 6f 72 74 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 78 70 6f 72 74 27 20 20 20 20 20 20 65 6e 64 ort......&lt;-.'export'......end
10f2c0 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 6e _of_word</span>.<span.class="lin
10f2e0 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 27 65 78 e">KEYWORD_extern......&lt;-.'ex
10f300 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 0a 3c 73 tern'......end_of_word</span>.<s
10f320 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 20 20 20 pan.class="line">KEYWORD_fn.....
10f340 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 6f 66 5f .....&lt;-.'fn'..........end_of_
10f360 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 4b word</span>.<span.class="line">K
10f380 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 27 20 20 EYWORD_for.........&lt;-.'for'..
10f3a0 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 20 .......end_of_word</span>.<span.
10f3c0 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 20 20 20 class="line">KEYWORD_if.........
10f3e0 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 6f 72 64 .&lt;-.'if'..........end_of_word
10f400 3c 2f 73 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 </span>.<span.class="line">KEYWO
10f420 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 20 20 20 RD_inline......&lt;-.'inline'...
10f440 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 73 ...end_of_word</span>.<span.clas
10f460 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 26 6c 74 s="line">KEYWORD_noalias.....&lt
10f480 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 2f 73 70 ;-.'noalias'.....end_of_word</sp
10f4a0 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 6e an>.<span.class="line">KEYWORD_n
10f4c0 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 20 20 65 osuspend...&lt;-.'nosuspend'...e
10f4e0 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 6c nd_of_word</span>.<span.class="l
10f500 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 2d 20 27 ine">KEYWORD_noinline....&lt;-.'
10f520 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 6e 3e 0a noinline'....end_of_word</span>.
10f540 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 61 71 75 <span.class="line">KEYWORD_opaqu
10f560 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 64 5f 6f e......&lt;-.'opaque'......end_o
10f580 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 22 f_word</span>.<span.class="line"
10f5a0 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 72 27 20 >KEYWORD_or..........&lt;-.'or'.
10f5c0 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 61 .........end_of_word</span>.<spa
10f5e0 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 20 20 20 n.class="line">KEYWORD_orelse...
10f600 20 20 20 26 6c 74 3b 2d 20 27 6f 72 65 6c 73 65 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f ...&lt;-.'orelse'......end_of_wo
10f620 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 59 rd</span>.<span.class="line">KEY
10f640 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 64 27 20 WORD_packed......&lt;-.'packed'.
10f660 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 6c .....end_of_word</span>.<span.cl
10f680 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 20 20 26 ass="line">KEYWORD_pub.........&
10f6a0 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 64 3c 2f lt;-.'pub'.........end_of_word</
10f6c0 73 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 span>.<span.class="line">KEYWORD
10f6e0 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 20 20 20 _resume......&lt;-.'resume'.....
10f700 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 3d .end_of_word</span>.<span.class=
10f720 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 74 3b 2d "line">KEYWORD_return......&lt;-
10f740 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 70 61 6e .'return'......end_of_word</span
10f760 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 6c 69 6e >.<span.class="line">KEYWORD_lin
10f780 6b 73 65 63 74 69 6f 6e 20 26 6c 74 3b 2d 20 27 6c 69 6e 6b 73 65 63 74 69 6f 6e 27 20 65 6e 64 ksection.&lt;-.'linksection'.end
10f7a0 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 6e _of_word</span>.<span.class="lin
10f7c0 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 27 73 74 e">KEYWORD_struct......&lt;-.'st
10f7e0 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 0a 3c 73 ruct'......end_of_word</span>.<s
10f800 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 65 6e 64 pan.class="line">KEYWORD_suspend
10f820 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 6f 66 5f .....&lt;-.'suspend'.....end_of_
10f840 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 4b word</span>.<span.class="line">K
10f860 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 74 63 68 EYWORD_switch......&lt;-.'switch
10f880 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 20 '......end_of_word</span>.<span.
10f8a0 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 20 20 20 class="line">KEYWORD_test.......
10f8c0 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 6f 72 64 .&lt;-.'test'........end_of_word
10f8e0 3c 2f 73 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 </span>.<span.class="line">KEYWO
10f900 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 6f 63 61 RD_threadlocal.&lt;-.'threadloca
10f920 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 6c 61 73 l'.end_of_word</span>.<span.clas
10f940 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 26 6c 74 s="line">KEYWORD_try.........&lt
10f960 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 2f 73 70 ;-.'try'.........end_of_word</sp
10f980 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 75 an>.<span.class="line">KEYWORD_u
10f9a0 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 20 20 65 nion.......&lt;-.'union'.......e
10f9c0 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 6c nd_of_word</span>.<span.class="l
10f9e0 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 2d 20 27 ine">KEYWORD_unreachable.&lt;-.'
10fa00 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 6e 3e 0a unreachable'.end_of_word</span>.
10fa20 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 69 6e 67 <span.class="line">KEYWORD_using
10fa40 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 63 65 27 namespace.&lt;-.'usingnamespace'
10fa60 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 3d .end_of_word</span>.<span.class=
10fa80 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 74 3b 2d "line">KEYWORD_var.........&lt;-
10faa0 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 70 61 6e .'var'.........end_of_word</span
10fac0 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 76 6f 6c >.<span.class="line">KEYWORD_vol
10fae0 61 74 69 6c 65 20 20 20 20 26 6c 74 3b 2d 20 27 76 6f 6c 61 74 69 6c 65 27 20 20 20 20 65 6e 64 atile....&lt;-.'volatile'....end
10fb00 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 6e _of_word</span>.<span.class="lin
10fb20 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 27 77 68 e">KEYWORD_while.......&lt;-.'wh
10fb40 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 0a 3c 73 ile'.......end_of_word</span>.<s
10fb60 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
10fb80 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 57 4f 52 lass="line">keyword.&lt;-.KEYWOR
10fba0 44 5f 61 6c 69 67 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 20 2f 20 4b 45 D_align./.KEYWORD_allowzero./.KE
10fbc0 59 57 4f 52 44 5f 61 6e 64 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 3c 2f 73 70 YWORD_and./.KEYWORD_anyframe</sp
10fbe0 61 6e 3e 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">.........
10fc00 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 20 2f 20 4b 45 59 57 4f 52 44 5f 61 73 6d 20 /.KEYWORD_anytype./.KEYWORD_asm.
10fc20 2f 20 4b 45 59 57 4f 52 44 5f 61 73 79 6e 63 20 2f 20 4b 45 59 57 4f 52 44 5f 61 77 61 69 74 3c /.KEYWORD_async./.KEYWORD_await<
10fc40 2f 73 70 61 6e 3e 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">......
10fc60 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 62 72 65 61 6b 20 2f 20 4b 45 59 57 4f 52 44 5f 63 61 6c .../.KEYWORD_break./.KEYWORD_cal
10fc80 6c 63 6f 6e 76 20 2f 20 4b 45 59 57 4f 52 44 5f 63 61 74 63 68 20 2f 20 4b 45 59 57 4f 52 44 5f lconv./.KEYWORD_catch./.KEYWORD_
10fca0 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e comptime</span>.<span.class="lin
10fcc0 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 2f 20 4b 45 e">........./.KEYWORD_const./.KE
10fce0 59 57 4f 52 44 5f 63 6f 6e 74 69 6e 75 65 20 2f 20 4b 45 59 57 4f 52 44 5f 64 65 66 65 72 20 2f YWORD_continue./.KEYWORD_defer./
10fd00 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .KEYWORD_else</span>.<span.class
10fd20 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 65 6e 75 6d 20 ="line">........./.KEYWORD_enum.
10fd40 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 /.KEYWORD_errdefer./.KEYWORD_err
10fd60 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e or./.KEYWORD_export</span>.<span
10fd80 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
10fda0 5f 65 78 74 65 72 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 66 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 66 _extern./.KEYWORD_fn./.KEYWORD_f
10fdc0 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 69 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 or./.KEYWORD_if</span>.<span.cla
10fde0 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 69 6e 6c ss="line">........./.KEYWORD_inl
10fe00 69 6e 65 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 61 6c 69 61 73 20 2f 20 4b 45 59 57 4f 52 44 5f ine./.KEYWORD_noalias./.KEYWORD_
10fe20 6e 6f 73 75 73 70 65 6e 64 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 3c 2f 73 70 nosuspend./.KEYWORD_noinline</sp
10fe40 61 6e 3e 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">.........
10fe60 2f 20 4b 45 59 57 4f 52 44 5f 6f 70 61 71 75 65 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 72 20 2f 20 /.KEYWORD_opaque./.KEYWORD_or./.
10fe80 4b 45 59 57 4f 52 44 5f 6f 72 65 6c 73 65 20 2f 20 4b 45 59 57 4f 52 44 5f 70 61 63 6b 65 64 3c KEYWORD_orelse./.KEYWORD_packed<
10fea0 2f 73 70 61 6e 3e 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">......
10fec0 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 70 75 62 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 73 75 6d .../.KEYWORD_pub./.KEYWORD_resum
10fee0 65 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 74 75 72 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 6c 69 6e e./.KEYWORD_return./.KEYWORD_lin
10ff00 6b 73 65 63 74 69 6f 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 ksection</span>.<span.class="lin
10ff20 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 73 74 72 75 63 74 20 2f 20 4b e">........./.KEYWORD_struct./.K
10ff40 45 59 57 4f 52 44 5f 73 75 73 70 65 6e 64 20 2f 20 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 EYWORD_suspend./.KEYWORD_switch.
10ff60 2f 20 4b 45 59 57 4f 52 44 5f 74 65 73 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 /.KEYWORD_test</span>.<span.clas
10ff80 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 74 68 72 65 s="line">........./.KEYWORD_thre
10ffa0 61 64 6c 6f 63 61 6c 20 2f 20 4b 45 59 57 4f 52 44 5f 74 72 79 20 2f 20 4b 45 59 57 4f 52 44 5f adlocal./.KEYWORD_try./.KEYWORD_
10ffc0 75 6e 69 6f 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 union./.KEYWORD_unreachable</spa
10ffe0 6e 3e 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 2f n>.<span.class="line">........./
110000 20 4b 45 59 57 4f 52 44 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 20 2f 20 4b 45 59 57 4f 52 .KEYWORD_usingnamespace./.KEYWOR
110020 44 5f 76 61 72 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 D_var./.KEYWORD_volatile./.KEYWO
110040 52 44 5f 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 RD_while</span></code></pre></fi
110060 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 65 6e 22 3e gure>..............<h2.id="Zen">
110080 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 65 6e 22 3e 5a 65 6e 3c 2f 61 3e 20 3c 61 20 63 6c <a.href="#toc-Zen">Zen</a>.<a.cl
1100a0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 5a 65 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 ass="hdr".href="#Zen">..</a></h2
1100c0 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6d 6d 75 6e >........<ul>.........<li>Commun
1100e0 69 63 61 74 65 20 69 6e 74 65 6e 74 20 70 72 65 63 69 73 65 6c 79 2e 3c 2f 6c 69 3e 0a 20 20 20 icate.intent.precisely.</li>....
110100 20 20 20 20 20 3c 6c 69 3e 45 64 67 65 20 63 61 73 65 73 20 6d 61 74 74 65 72 2e 3c 2f 6c 69 3e .....<li>Edge.cases.matter.</li>
110120 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 61 76 6f 72 20 72 65 61 64 69 6e 67 20 63 6f 64 65 20 .........<li>Favor.reading.code.
110140 6f 76 65 72 20 77 72 69 74 69 6e 67 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 over.writing.code.</li>.........
110160 3c 6c 69 3e 4f 6e 6c 79 20 6f 6e 65 20 6f 62 76 69 6f 75 73 20 77 61 79 20 74 6f 20 64 6f 20 74 <li>Only.one.obvious.way.to.do.t
110180 68 69 6e 67 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 75 6e 74 69 6d 65 20 hings.</li>.........<li>Runtime.
1101a0 63 72 61 73 68 65 73 20 61 72 65 20 62 65 74 74 65 72 20 74 68 61 6e 20 62 75 67 73 2e 3c 2f 6c crashes.are.better.than.bugs.</l
1101c0 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 20 61 72 i>.........<li>Compile.errors.ar
1101e0 65 20 62 65 74 74 65 72 20 74 68 61 6e 20 72 75 6e 74 69 6d 65 20 63 72 61 73 68 65 73 2e 3c 2f e.better.than.runtime.crashes.</
110200 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 63 72 65 6d 65 6e 74 61 6c 20 69 6d 70 72 li>.........<li>Incremental.impr
110220 6f 76 65 6d 65 6e 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 76 6f 69 64 ovements.</li>.........<li>Avoid
110240 20 6c 6f 63 61 6c 20 6d 61 78 69 6d 75 6d 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c .local.maximums.</li>.........<l
110260 69 3e 52 65 64 75 63 65 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 6e 65 20 6d 75 73 74 20 72 65 6d i>Reduce.the.amount.one.must.rem
110280 65 6d 62 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 6f 63 75 73 20 6f 6e ember.</li>.........<li>Focus.on
1102a0 20 63 6f 64 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 73 74 79 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 .code.rather.than.style.</li>...
1102c0 20 20 20 20 20 20 3c 6c 69 3e 52 65 73 6f 75 72 63 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 6d 61 ......<li>Resource.allocation.ma
1102e0 79 20 66 61 69 6c 3b 20 72 65 73 6f 75 72 63 65 20 64 65 61 6c 6c 6f 63 61 74 69 6f 6e 20 6d 75 y.fail;.resource.deallocation.mu
110300 73 74 20 73 75 63 63 65 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 65 6d st.succeed.</li>.........<li>Mem
110320 6f 72 79 20 69 73 20 61 20 72 65 73 6f 75 72 63 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ory.is.a.resource.</li>.........
110340 3c 6c 69 3e 54 6f 67 65 74 68 65 72 20 77 65 20 73 65 72 76 65 20 74 68 65 20 75 73 65 72 73 2e <li>Together.we.serve.the.users.
110360 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c </li>.......</ul>..............<
110380 2f 6d 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 /main></div>.....</div>...</body
1103a0 3e 0a 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 >.</html>.PK............!Roa.,..
1103c0 00 00 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 ........................mimetype
1103e0 50 4b 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 PK............!Ro...............
110400 00 00 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 ..........:...META-INF/container
110420 2e 78 6d 6c 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 52 2c fd e7 c2 02 00 00 c2 02 00 00 .xmlPK............!RR,..........
110440 11 00 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 ..............j...OEBPS/content.
110460 6f 70 66 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 77 b3 7e 78 6c 83 00 00 6c 83 00 00 0f opfPK............!Rw.~xl...l....
110480 00 00 00 00 00 00 00 00 00 00 00 00 00 5b 04 00 00 4f 45 42 50 53 2f 6e 61 76 2e 78 68 74 6d 6c .............[...OEBPS/nav.xhtml
1104a0 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 ce d1 1c 66 87 7b 10 00 87 7b 10 00 11 00 00 00 PK............!R...f.{...{......
1104c0 00 00 00 00 00 00 00 00 00 00 f4 87 00 00 4f 45 42 50 53 2f 69 6e 64 65 78 2e 78 68 74 6d 6c 50 ..............OEBPS/index.xhtmlP
1104e0 4b 05 06 00 00 00 00 05 00 05 00 35 01 00 00 aa 03 11 00 00 00 K..........5.........